On Friday 27 May 2005 10:27 am, Alan Stern wrote: > On Fri, 27 May 2005, David Brownell wrote: > > > > > Actually I'm not so sure. I generally describe USB_SUSPEND as relating > > > > to whether or not the USB "suspend" state is used ... > > > > > > Then how come the hub_suspend and hub_resume methods in hub.c don't exist > > > when CONFIG_USB_SUSPEND isn't set? > > > > Because the point of suspending a _hub_ is to use the USB "suspend" state! > > :) > > > > It's not like any other kind of USB device driver; like an HCD, it's > > integral > > to the operation of the stack, not any single function. > > But don't you think we should still call hub_quiesce(), to turn off the > status URB?
That would make good sense, yes. For root hubs, all that interacts with the timer processing too ... which runs orthogonally to the resume and khubd tasks (see below). That suggests an interesting experiment: do the latest MM patches, which I think have your root hub timer fixes, change this behavior? Either with or without USB_SUSPEND enabled. - Dave > > > I have to agree, however, that this particular problem looks like it's > > > caused by something else. Perhaps a disconnect is racing with resume > > > during the restart sequence. > > > > It's true that khubd disconnects "could" go in parallel with whatever > > task is doing the wakeups; though I don't keep track of what the locking > > does there any more. > > Since khubd is a thread, it shouldn't start running until it gets out of > the refrigerator -- which is after all the resume methods have been > called. So it's not obvious what the problem might be. More debugging > and more tests would help. Assuming there's any way to get useful > information out of the resuming kernel while things are still starting > up... > > About all one can say for sure is that somehow something is doing > usb_set_intfdata(intf, NULL) before hid_resume runs. > > Alan Stern > > > > ------------------------------------------------------- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel