On Monday, August 24, 2015 at 08:57:02 PM, Stephen Warren wrote: > 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()).
Uh, right, sorry. Applied. Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot