Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [PATCH] firmware loader: don't cancel _nowait requests when helper is not yet available | Date | Wed, 14 Mar 2012 01:10:40 +0100 |
| |
On Wednesday, March 14, 2012, Kay Sievers wrote: > On Tue, Mar 13, 2012 at 20:42, Rafael J. Wysocki <rjw@sisk.pl> wrote: > > On Sunday, March 11, 2012, Kay Sievers wrote: > >> On Sat, Mar 10, 2012 at 00:36, Greg KH <gregkh@linuxfoundation.org> 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
| |