RE: additional debug output for autosuspend in cdc-ether

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

 



On Sun, 15 Nov 2009, Rickard Bellini wrote:

> 
> Hi,
> 
> Here is a new log with a corresponding usbmon trace.
> The issue usually occurs in the interval when the device is being
> suspended and the root hub being suspended. If the device sends
> a remote wakup request here, it might end up in a XactErr which
> triggers a device USB reset.
> 
> This has been captured using kernel 2.6.32-rc3 with cdc_ether aggressive autosuspend patch and the
> motorola patch for remote wakup issue.
> 
> usbmon trace attached.

The trace shows that during the resume following the remote wakeup
request, the kernel failed to receive a response to a Get-Device-Status
request.  In fact, the device's port got disabled at that time --
reason unknown.  The root hub had not yet begun to autosuspend, so
there's no question of a race between the root hub and the device.

Maybe the device simply wasn't ready in time; it might need a longer
resume delay than the USB specification allows.  You can test this by 
increasing the resume delay in ehci-hub.c (near line 759 in my copy):

			/* Remote Wakeup received? */
			if (!ehci->reset_done[wIndex]) {
				/* resume signaling for 20 msec */
				ehci->reset_done[wIndex] = jiffies
						+ msecs_to_jiffies(20);

Change the 20 to something larger, like 50, and see what happens.

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