From: Larry Finger <Larry.Finger@lwfinger.net>
To: Kalle Valo <kvalo@adurom.com>
Cc: wireless <linux-wireless@vger.kernel.org>
Subject: Re: Drivers that use synchronous firmware loading
Date: Sun, 29 Jan 2012 12:00:44 -0600 [thread overview]
Message-ID: <4F25894C.9080206@lwfinger.net> (raw)
In-Reply-To: <87mx96csyd.fsf@purkki.adurom.net>
On 01/29/2012 11:35 AM, Kalle Valo wrote:
> Larry Finger<Larry.Finger@lwfinger.net> writes:
>
>> 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.
>
>> 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
next prev parent reply other threads:[~2012-01-29 18:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-29 3:39 Drivers that use synchronous firmware loading Larry Finger
2012-01-29 17:35 ` Kalle Valo
2012-01-29 18:00 ` Larry Finger [this message]
2012-01-30 7:01 ` Luciano Coelho
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F25894C.9080206@lwfinger.net \
--to=larry.finger@lwfinger.net \
--cc=kvalo@adurom.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).