Re: calling request_firmware() from module init will not work with recent/future udev versions
From: Johannes Berg <johannes@sipsolutions.net>
Date: 2012-01-16 12:16:52
Also in:
linux-wireless
From: Johannes Berg <johannes@sipsolutions.net>
Date: 2012-01-16 12:16:52
Also in:
linux-wireless
On Mon, 2012-01-16 at 13:05 +0100, Kay Sievers wrote:
quoted
What I'm was asking then is this: Can udev know that it is running from initramfs (presumably that can't be too hard) and simply not reply to async requests it doesn't have firmware for? Then once the real root is mounted it could satisfy (or not) firmware requests from the real root.We can surely change it to not cancel the firmware request. Either by making it aware that we run from initramfs, or by never cancelling any firmware request and just leave it hanging around for forever?
I think not cancelling it from initramfs and then providing or cancelling it once we have normal root mounted should be sufficient? I don't see how letting it hang around forever (a minute until it times out) would be useful.
We need to decide what's the best model here, if we want a timeout at all, if yes, how large it should be, and if and when we should cancel requests.
I do think cancelling requests still gives us desirable behaviour in terms of being able to reproduce it etc., it's just that cancelling it when we have only partial data (from initramfs) isn't helpful. johannes