Re: [PATCH] firmware loader: don't cancel _nowait requests when helper is not yet available

From: Rafael J. Wysocki
Date: Tue Mar 13 2012 - 20:06:28 EST


On Wednesday, March 14, 2012, Kay Sievers wrote:
> On Tue, Mar 13, 2012 at 20:42, Rafael J. Wysocki <rjw@xxxxxxx> wrote:
> > On Sunday, March 11, 2012, Kay Sievers wrote:
> >> On Sat, Mar 10, 2012 at 00:36, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> >> > What does uevent have to do with things here?
> >>
> >> I don't think that the firmware loader should care about the
> >> usermodehelper at all, and that stuff fiddling should just be removed
> >> from the firmware class.
> >
> > It's there to warn people that their drivers do stupid things like
> > loading frimware during system resume, which is guaranteed not to work.
> >
> > IOW, it's there very much on purpose.
>
> Using the /sbin/hotplug is no case that needs any warning. It' such a
> broken model these days, that firmware loading is the least problem
> that occurs with it.
>
> >> Forking /sbin/hotplug is disabled by default, it is a broken concept,
> >> and it cannot work reliably on today's systems.
> >>
> >> Firmware is not loaded by /sbin/hotplug since many years, but by udev
> >> or whatever service handles uevents, like ueventd on android.
> >
> > Which I'm not sure why is relevant here.
>
> It is relevant in the sense that the firmware loader should not even
> know that a uevent *can* cause a usermodehelper exec() if it runs in
> legacy mode. The firmware loader just has no business in fiddling with
> the details of driver core legacy stuff. I don't think his warning
> makes much sense.

But that warning actually triggers for drivers that attempt to use
request_firmware() during system resume, even though /sbin/hotplug isn't
used any more.

usermodehelper_is_disabled() means "we are in the middle of system power
transition" rather than anything else (I agree it should be called
suspend_in_progress() or something similar these days).

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/