On Mon, 16 Jul 2007, Dave Jones wrote:

> On Mon, Jul 16, 2007 at 03:22:17PM -0400, Alan Stern wrote:
> 
>  > > I'm not sure how that 5-1.4 relates to the above map.
>  > > 
>  > > oh, there's one other case, where it prints the same thing for usb 4-2:
>  > 
>  > All right, it turns out there really is a minor bug that shows up only 
>  > with the autosuspend delay set to 0.  The patch below fixes it (should 
>  > you happen to care).
> 
> Ah, so that's why I was seeing those WARN_ON's ?

Yep.  The old code incremented the parent hub's count of unsuspended 
children _after_ registering the child device -- but at the end of the 
registration procedure the child gets autosuspended.  With a delay of 
0, the child was suspending before the parent's count could be 
incremented; hence the suspend caused the count to go negative briefly.

The patch fixes the problem by incrementing the parent's count _before_ 
registering the child (and then decrementing it afterward if the 
registration failed).

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to