Messages in this thread | | | Date | Thu, 09 Aug 2007 11:36:05 +0200 | From | Javier Pello <> | Subject | Re: [PATCH] request_firmware: skip timeout if userspace was not notified |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |