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

Linus Torvalds torvalds at linux-foundation.org
Sat Aug 25 11:59:59 PDT 2012


On Thu, Aug 23, 2012 at 8:31 AM, Kay Sievers <kay at vrfy.org> wrote:
>
> Calling out from inside the kernel and blocking in a firmware loading
> userspace transaction during module_init() is kind of weird.

It's *very* common.

I personally would prefer if drivers did their firmware loading not at
probe time, but at device open time, but that's not always necessarily
possible. More importantly, it's not actually how things are done.

So udev had better be fixed. The whole "no regressions" should be the
rule not just for the kernel, but it damn well should be the rule at
*least* also for projects like udev that are so closely related to the
kernel.

The "I wish things were otherwise than they are" mindset is wishful
thinking. Reality is that probing - and firmware loading - happens
from the module init routines quite often, and it clearly used to
work. So udev broke. Fix it, don't argue that you wish things were
otherwise.

            Linus


More information about the systemd-devel mailing list