diff options
author | Larry Finger <Larry.Finger@lwfinger.net> | 2012-03-17 21:16:06 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-04-09 22:07:35 +0200 |
commit | 5612a508d11f81c1ca3290260f86328dfb55d513 (patch) | |
tree | 8ff5d03365b9f7e7a0534c577d504b6bc757eabf /drivers/net/wireless/p54/p54usb.h | |
parent | p54: only unregister ieee80211_hw when it has been registered (diff) | |
download | linux-5612a508d11f81c1ca3290260f86328dfb55d513.tar.xz linux-5612a508d11f81c1ca3290260f86328dfb55d513.zip |
p54usb: Load firmware asynchronously
Drivers that load firmware from their probe routine have problems with
the latest versions of udev as they get timeouts while waiting for user
space to start. The problem is fixed by using request_firmware_nowait()
and delaying the start of mac80211 until the firmware is loaded.
To prevent the possibility of the driver being unloaded while the
firmware loading callback is still active, a completion queue entry
is used.
Also, to simplify the firmware loading procedure, this patch removes
the old, unofficial and confusing fallback firmware names. However,
they are still supported! So any user - who is still using them -
is hereby advised to link/rename their old firmware filenames:
isl3890usb to isl3886usb
isl3887usb_bare to isl3887usb
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/p54/p54usb.h')
-rw-r--r-- | drivers/net/wireless/p54/p54usb.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/p54/p54usb.h b/drivers/net/wireless/p54/p54usb.h index ed4034ade59a..d273be7272b9 100644 --- a/drivers/net/wireless/p54/p54usb.h +++ b/drivers/net/wireless/p54/p54usb.h @@ -143,6 +143,9 @@ struct p54u_priv { struct sk_buff_head rx_queue; struct usb_anchor submitted; const struct firmware *fw; + + /* asynchronous firmware callback */ + struct completion fw_wait_load; }; #endif /* P54USB_H */ |