Re: additional debug output for autosuspend in cdc-ether

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

 



On Wed, 25 Nov 2009, Oliver Neukum wrote:

> Am Mittwoch, 25. November 2009 16:16:32 schrieb Rickard Bellini:
> > I think you are on to something here. Testing the last correction below,
> >  and including the extra msleep(50); before the usb_mark_last_busy(udev);
> >  in the remote_wakeup() function within hub.c. I have not seen any XactErr
> >  or USB resets triggered by remote wakeup in over 5000 cycles. I will need
> >  to keep running until I hit something around 10000 cycles until I can
> >  judge it stable.
> 
> Hello,
> 
> this looks good. I am afraid you will have to determine a sensible timeout.
> 200ms is an outrageous time for this and hopefully much too long.
> Then we'll have to add a quirk for your device.

25 ms might work out.  That's what we use for ordinary (i.e., not
remote-wakeup) resumes.

And the msleep(50) in remote_wakeup() should not be needed.  But 
thinking about it made me realize there is a bug in usb_port_resume().  
The two lines

		/* TRSMRCY = 10 msec */
		msleep(10);

should come just after the SuspendCleared: label, not inside the "if" 
block before the label.  Try leaving out the msleep from 
remote_wakeup() and moving the msleep in usb_port_resume(), while 
keeping the 200-ms delay in ehci_irq().  If that is okay, then 
experiment with reducing the 200 to 25 or various values in between.

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