|
@@ -909,6 +909,13 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
|
|
|
if (result < 0)
|
|
|
goto fail_sta_info;
|
|
|
|
|
|
+ result = ieee80211_wep_init(local);
|
|
|
+ if (result < 0) {
|
|
|
+ printk(KERN_DEBUG "%s: Failed to initialize wep: %d\n",
|
|
|
+ wiphy_name(local->hw.wiphy), result);
|
|
|
+ goto fail_wep;
|
|
|
+ }
|
|
|
+
|
|
|
rtnl_lock();
|
|
|
result = dev_alloc_name(local->mdev, local->mdev->name);
|
|
|
if (result < 0)
|
|
@@ -930,14 +937,6 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
|
|
|
goto fail_rate;
|
|
|
}
|
|
|
|
|
|
- result = ieee80211_wep_init(local);
|
|
|
-
|
|
|
- if (result < 0) {
|
|
|
- printk(KERN_DEBUG "%s: Failed to initialize wep: %d\n",
|
|
|
- wiphy_name(local->hw.wiphy), result);
|
|
|
- goto fail_wep;
|
|
|
- }
|
|
|
-
|
|
|
/* add one default STA interface if supported */
|
|
|
if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_STATION)) {
|
|
|
result = ieee80211_if_add(local, "wlan%d", NULL,
|
|
@@ -967,13 +966,13 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
-fail_wep:
|
|
|
- rate_control_deinitialize(local);
|
|
|
fail_rate:
|
|
|
unregister_netdevice(local->mdev);
|
|
|
local->mdev = NULL;
|
|
|
fail_dev:
|
|
|
rtnl_unlock();
|
|
|
+ ieee80211_wep_free(local);
|
|
|
+fail_wep:
|
|
|
sta_info_stop(local);
|
|
|
fail_sta_info:
|
|
|
debugfs_hw_del(local);
|