Re: [PATCH] request_firmware: skip timeout if userspace was not notified

From: Javier Pello
Date: Thu Aug 09 2007 - 05:36:03 EST


On Tue, 07 Aug 2007, Cornelia Huck wrote:

> So it is indeed that this driver wants to fail its probe if it
> cannot get the firmware.

That's right. The driver unbinds itself from the device if it doesn't
get the firmware.

> A possibilty to achieve a similar effect would be to use
> request_firmware_nowait() and to call device_release_driver() from
> the callback if no firmware is loaded. (This would imply a split of
> that driver's probe function into two stages.)

The comments in the source code say that request_firmware_nowait()
is an "asynchronous version of request_firmware() for contexts where
it is not possible to sleep". So a driver's decision to call one of
them is not based on whether it wants to wait or not, but whether it
_can_ wait.

Of course, it can be decided that we never want to wait, but then
the best course of action would be to make request_firmware itself
behave as request_firmware_nowait (no need to change drivers).

Anyway, my point is that it is useless to have the kernel block for
a minute at boot waiting for something that cannot happen, and that
it should be avoided (even if my proposed solution is not the way
to go).

Javier


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