diff options
Diffstat (limited to 'drivers/staging/wlan-ng/prism2usb.c')
-rw-r--r-- | drivers/staging/wlan-ng/prism2usb.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/staging/wlan-ng/prism2usb.c b/drivers/staging/wlan-ng/prism2usb.c index d8a12982135d..d9c6f5a97cf0 100644 --- a/drivers/staging/wlan-ng/prism2usb.c +++ b/drivers/staging/wlan-ng/prism2usb.c @@ -2,6 +2,7 @@ #include "prism2mgmt.c" #include "prism2mib.c" #include "prism2sta.c" +#include "prism2fw.c" #define PRISM_USB_DEVICE(vid, pid, name) \ USB_DEVICE(vid, pid), \ @@ -153,15 +154,16 @@ static int prism2sta_probe_usb(struct usb_interface *interface, wlandev->msdstate = WLAN_MSD_HWPRESENT; + /* Try and load firmware, then enable card before we register */ + prism2_fwtry(dev, wlandev); + prism2sta_ifstate(wlandev, P80211ENUM_ifstate_enable); + if (register_wlandev(wlandev) != 0) { printk(KERN_ERR "%s: register_wlandev() failed.\n", dev_info); result = -EIO; goto failed; } -/* enable the card */ - prism2sta_ifstate(wlandev, P80211ENUM_ifstate_enable); - goto done; failed: @@ -170,7 +172,6 @@ failed: wlandev = NULL; done: - p80211_allow_ioctls(wlandev); usb_set_intfdata(interface, wlandev); return result; } |