On Wednesday 25 July 2012 20:35:28 Ming Lei wrote: > CC usb guys and list > > On Wed, Jul 25, 2012 at 1:53 AM, Linus Torvalds > <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > > > I really think the isight thing is a totally different thing entirely. > > > > And quite frankly, that's just a BUG in the USB implementation. If the > > USB ID changes, it shouldn't be considered a "resume" thing at all, > > but a probe thing, and that should not be done in early resume - it > > should be done *after* the resume is done. > > IMO, usbcore may have found the ID changes during resume(reset_resume), > and make the device disconnect. The disconnect event will be handled > in hubd kthread, which is woken up before usermodehelper_enable()(see > thaw_processes), so request_firmware will return failure during probe() > inside hubd kthread. > > The cache firmware patch set may not help the situation, because the > original isight usb device for downloading firmware has been disconnected > before system suspend, so firmware loader can't cache the firmware for > the device. > > The below patch should fix the problem above. This is likely unwise. You'd better introduce a special flag for kernel threads that should be thawed only after user space will have been thawed. Regards Oliver -- 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