Re: [PATCH v4] xhci - correct comp_mode_recovery_timer on return from hibernate

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 25 Feb 2013, Tony Camuso wrote:

> On 02/21/2013 05:04 PM, Alan Stern wrote:
> >
> > Would it be simpler to delete the timer in xhci_bus_suspend() and
> > restart it in xhci_bus_resume()?  Then you wouldn't need to care
> > about the difference between suspend and hibernation.
> >
> 
> Alan,
> 
> I tried implementing this. There were some static functions in
> xhci.c that had to be exposed so they could be called by
> xhci_bus_suspend and xhci_bus_resume.
> 
> Besides that, xchi_bus_suspend/resume are called a number of times
> during boot. I don't know why this is, but you may be able to shed
> some light on that.

Probably because the buses are registered at boot but there aren't any
devices plugged in.  (Or maybe there are devices, but the system is too
busy doing other things during boot to detect them for a while.)  
Since the buses are idle, they get suspended.

>  Furthermore, xhci_bus_suspend is called before
> xhci_bus_resume, so an attempt is made to delete the compliance
> mode recovery timer, which does not yet exist. This produces a
> list_add corruption call trace a number of times during boot.

That doesn't make sense.  The timer must be added somewhere other than
in xhci_bus_resume; otherwise it would never get activated in the
current xhci-hcd.  Wherever that other place is, it should still be in
operation.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux