[systemd-devel] udev 182: response timeout for request_firmware in module_probe path

Kay Sievers kay at vrfy.org
Thu Aug 23 08:31:08 PDT 2012


On Thu, Aug 23, 2012 at 5:16 PM, Ming Lei <tom.leiming at gmail.com> wrote:
> On Tue, Aug 21, 2012 at 1:34 PM, Ming Lei <tom.leiming at 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


More information about the systemd-devel mailing list