RE: additional debug output for autosuspend in cdc-ether

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

 



Hi,

I can readily recreate this issue with our device within a few hours of
usage.
I've seen this issue on kernels 2.6.24 and newer. The one I'm currently
running
is 2.6.32-rc3 with the aggressive autosuspend patch for cdc_ether.

Thank you for spending time on this since it is becoming an issue for
us.
Please let me know when you have something you want me to test.

BR,
Rickard 

-----Original Message-----
From: Alan Stern [mailto:stern@xxxxxxxxxxxxxxxxxxx] 
Sent: den 30 oktober 2009 00:53
To: Oliver Neukum
Cc: Rickard Bellini; linux-usb@xxxxxxxxxxxxxxx; Nicolas Chevillot;
Torgny Johansson; Greg Heinrich; Carl Nordbeck; Martin Chabot
Subject: Re: additional debug output for autosuspend in cdc-ether

On Thu, 29 Oct 2009, Oliver Neukum wrote:

> Hi Alan,
> 
> we have an issue here where the hub code discards a remote wakeup.
> 
> 	Regards
> 		Oliver
> 
> > I've been testing the new fix and with additional debug prints.
> > It seems I cannot reproduce the issue but I am hitting the other 
> > known issue where remote wakeup is signaled by the device but kernel

> > never acts on it.
> > However now this problem is much more evident than ever before. 
> > Please find two occurrences below.
> >
> > --------------------- First -----------------------------
...
> > (03:37:18.964000) 340782    ****************** Signalling remote
> > wakeup******************
> >
> > 2009-10-29T03:37:18.345+09:00 Ubuntu kernel: [ 2158.983913] ehci_hcd
> > 0000:00:1d.7: port 4 remote wakeup
> > 2009-10-29T03:37:18.354+09:00 Ubuntu kernel: [ 2158.989121] hub
7-0:1.0:
> > hub_suspend
> > 2009-10-29T03:37:18.354+09:00 Ubuntu kernel: [ 2158.989135] hub
7-0:1.0:
> > usb_suspend_interface: status 0
> > 2009-10-29T03:37:18.354+09:00 Ubuntu kernel: [ 2158.989142] usb
usb7:
> > bus auto-suspend
> > 2009-10-29T03:37:18.354+09:00 Ubuntu kernel: [ 2158.989147] ehci_hcd
> > 0000:00:1d.7: suspend root hub
> >
> > [Hub is suspended even if remote wakeup was signalled!]

Unforunately there is a race between ehci_bus_suspend() and ehci_irq();
if a remote wakeup notification arrives at the wrong time it will be
ignored.  I have known about this for a while but haven't done anything
because it didn't seem to be particularly urgent or easy to trigger
(it's a 20-ms window).

The fix involves preventing the EHCI controller from generating IRQs
during the suspend and checking to see if a remote wakeup signal has
been received recently.  I'll try to work on it during the next few
days.

Which kernel version is this?

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