Messages in this thread | | | From | Oliver Neukum <> | Subject | Re: [RFC PATCH 00/13] firmware loader: introduce cache/uncache firmware | Date | Wed, 25 Jul 2012 14:43:29 +0200 |
| |
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@linux-foundation.org> 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
| |