[U-Boot] [PATCH] usb: ehci: remember init mode

Marek Vasut marex at denx.de
Thu Aug 27 12:45:23 CEST 2015


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 <swarren at 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


More information about the U-Boot mailing list