On 08/23/2015 09:47 PM, Marek Vasut wrote:
On Friday, August 21, 2015 at 11:58:55 PM, Stephen Warren wrote:
On 08/20/2015 11:34 PM, Marek Vasut wrote:
On Friday, August 21, 2015 at 01:38:05 AM, Stephen Warren wrote:
From: Stephen Warren <swar...@nvidia.com>
When an EHCI device is registered in device mode, the HW isn't actually
initialized at all, and hence isn't left in a running state.
Consequently, when the device is deregistered, ehci_shutdown() will
fail, since the HW bits it expects to see set in response to its
shutdown requests will not be sent, and the message "EHCI failed to
shut down host controller." will be printed.
Fix ehci-hcd.c to remember whether the device was registered in host or
device mode, and only call ehci_shutdown() for host mode registrations.
Hi,
Shouldn't you instead check if the controller is running or not and shut
it down based on that ?
Why would the two states be different? How can the code check if the
controller is running; is there some HW bit that should be checked for
that?
Hi,
Hrm, I am not aware of any, sorry :-( But the driver can track whether the
controller was previously inited or not, right ? I mean, this is DM, so we
should be able to have a private data bit for that, no ?
I believe that's exactly what this patch is doing. I added a variable to
the driver's data structure indicating whether the last initialization
call was for host mode (-> EHCI is running, and should be shut down in
remove()) or device mode (-> EHCI is not running, so should not be shut
down in remove()).
Does it make sense to track this sort of thing in private data please ?
Best regards,
Marek Vasut
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot