Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware before hibernation/suspend

From: Michael-Luke Jones
Date: Sun May 27 2007 - 16:45:49 EST


On 27 May 2007, at 21:31, Rafael J. Wysocki wrote:

From: Rafael J. Wysocki <rjw@xxxxxxx>

Use a hibernation and suspend notifier to disable the firmware requesting
mechanism before a hibernation/suspend and enable it after the operation.

Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>

drivers/base/firmware_class.c | 36 ++++++++++++++++++++++++++++++ ++++++
1 file changed, 36 insertions(+)

I don't like this approach, as I feel that the firmware loading interface should be able to detect if a firmware load request is not being handled, due to absence of userspace / hotplug handler presence.

Other circumstances in which this can be a problem is during bootup when request_firmware() calls can be made before userspace is up and init has run (even in the presence of an initramfs).

(Slightly OT: A particularly nasty race is when an initramfs userspace is present, but firmware loading cannot occur because init has not run, so proc hasn't been mounted, so a hotplug event handler cannot be registered, despite the fact that the firmware is sitting on the ramdisk mounted correctly...)

In short, a more general solution would be preferred, and preferably one which allows firmware loading to *actually* occur once userspace has actually turned up and registered a handler :)

Michael-Luke Jones

-
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/