Thread (2 messages) 2 messages, 2 authors, 2012-02-16

Re: calling request_firmware() from module init will not work with recent/future udev versions

From: Arend van Spriel <hidden>
Date: 2012-02-16 12:04:17
Also in: linux-wireless

On 01/16/2012 09:57 AM, Johannes Berg wrote:
quoted
Now the problem, the pcidev event is blocking in modprobe and waits
quoted
 for the child event it has generated to finish, but udev does not
 start the event because the parent still blocks in modprobe ->
 deadlock until default firmware timeout of 60 sec. What we want here,
 for several reasons not only udev's dependency logic, is that modprobe
 never waits for userspace transactions to finish.
Ok, thanks for the description. I guess to me that means nothing really
changes much in the situation I'm thinking of.
I am working on changes in brcm80211 driver and the behaviour changes 
slightly. The async firmware request basically kicks of a kernel thread 
to do the actual request. So the probe finishes successfully regardless 
what the results will be of the actual firmware request. Hence the 
driver is associated with the hardware.
quoted
quoted
 If userspace is not responding, the firmware request times out after
 60 seconds and the driver is not associated with any hardware. To
 retry the firmware loading, the module needs to be unloaded and
 reloaded, or the driver needs to be asked to bind to a device again by
 writing to the 'bind' in file in the sysfs driver directory.
Right.
If my previous statement is true, what does it mean regarding retrying 
the firmware loading?

Gr. AvS

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help