[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