Messages in this thread | | | From | Kay Sievers <> | Date | Thu, 23 Aug 2012 17:31:08 +0200 | Subject | Re: udev 182: response timeout for request_firmware in module_probe path |
| |
On Thu, Aug 23, 2012 at 5:16 PM, Ming Lei <tom.leiming@gmail.com> wrote: > On Tue, Aug 21, 2012 at 1:34 PM, Ming Lei <tom.leiming@gmail.com> wrote:
>> I found that udev 182 doesn't response for the request_firmware in >> module_probe path until 30sec later after the 'ADD' event of firmware >> device, but no such problem in udev175, sounds like a regression of udev? > > Looks udevd is capable of handling the firmware ADD event even though > the device ADD event is being processed( modprobe is triggered by device > ADD event).
Calling out from inside the kernel and blocking in a firmware loading userspace transaction during module_init() is kind of weird.
The firmware loading call should not rely on a fully functional userspace, and modprobe should not hang and block until the firmware request is handled.
The firmware should be requested asynchronously or from a different context as module_init(). It depends on the type of driver/hardware what's the best approach here.
Thanks, Kay
| |