Thread (4 messages) 4 messages, 3 authors, 2012-01-30

Re: Drivers that use synchronous firmware loading

From: Larry Finger <hidden>
Date: 2012-01-29 18:00:49

On 01/29/2012 11:35 AM, Kalle Valo wrote:
Larry Finger[off-list ref]  writes:
quoted
To all wireless developers:

As you may have noticed, the udev layer is being changed. One of the
side effects is that the kernel may timeout when a driver uses
synchronous firmware loading. My rtlwifi drivers were affected, and a
kernel bugzilla has been logged against rtl8192se. I suggest that the
maintainers should be proactive, and convert to asynchronous loading
as soon as possible.
Thanks for the summary, this was really useful.
quoted
In wireless-testing, the files listed below contain calls to
read_firmware() rather than read_firmware_nowait():

drivers/net/wireless/at76c50x-usb.c
drivers/net/wireless/ath/ath6kl/init.c
drivers/net/wireless/ath/ath9k/hif_usb.c
drivers/net/wireless/atmel.c
drivers/net/wireless/b43/main.c
drivers/net/wireless/b43legacy/main.c
drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
drivers/net/wireless/ipw2x00/ipw2100.c
drivers/net/wireless/iwlegacy/3945-mac.c
drivers/net/wireless/iwlegacy/4965-mac.c
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/libertas/main.c
drivers/net/wireless/libertas/if_usb.c
drivers/net/wireless/libertas_tf/if_usb.c
drivers/net/wireless/mwifiex/main.c
drivers/net/wireless/mwl8k.c
drivers/net/wireless/orinoco/fw.c
drivers/net/wireless/orinoco/orinoco_usb.c
drivers/net/wireless/p54/p54spi.c
drivers/net/wireless/p54/p54usb.c
drivers/net/wireless/p54/p54pci.c
drivers/net/wireless/prism54/islpci_dev.c
drivers/net/wireless/rt2x00/rt2x00firmware.c
drivers/net/wireless/wl1251/main.c
drivers/net/wireless/zd1201.c
drivers/net/wireless/zd1211rw/zd_usb.c

Some of the drivers above may be exempt as their firmware is built
into the kernel. I did not check for that case.
But isn't the issue only when a firmware is requested synchronously
during module init? For example, IIRC wl1251 loads the module during
hw start and that should be safe, even when making a synchronous call.
Or did I misunderstood something?
As I understand the situation, if userland is running when the firmware is 
requested synchronously, then the request should be OK. Certainly, when firmware 
loading is triggered from the probe routine, it will cause trouble.

I was just contacted this morning about problems with r8712u on Arch Linux. 
Another driver for me to fix.

Larry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help