diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hif_usb.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-sta.h | 11 |
2 files changed, 17 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c index ad9134bddd1e..61c1bee3f26a 100644 --- a/drivers/net/wireless/ath/ath9k/hif_usb.c +++ b/drivers/net/wireless/ath/ath9k/hif_usb.c | |||
@@ -745,13 +745,17 @@ static int ath9k_hif_usb_alloc_urbs(struct hif_device_usb *hif_dev) | |||
745 | 745 | ||
746 | /* RX */ | 746 | /* RX */ |
747 | if (ath9k_hif_usb_alloc_rx_urbs(hif_dev) < 0) | 747 | if (ath9k_hif_usb_alloc_rx_urbs(hif_dev) < 0) |
748 | goto err; | 748 | goto err_rx; |
749 | 749 | ||
750 | /* Register Read */ | 750 | /* Register Read */ |
751 | if (ath9k_hif_usb_alloc_reg_in_urb(hif_dev) < 0) | 751 | if (ath9k_hif_usb_alloc_reg_in_urb(hif_dev) < 0) |
752 | goto err; | 752 | goto err_reg; |
753 | 753 | ||
754 | return 0; | 754 | return 0; |
755 | err_reg: | ||
756 | ath9k_hif_usb_dealloc_rx_urbs(hif_dev); | ||
757 | err_rx: | ||
758 | ath9k_hif_usb_dealloc_tx_urbs(hif_dev); | ||
755 | err: | 759 | err: |
756 | return -ENOMEM; | 760 | return -ENOMEM; |
757 | } | 761 | } |
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.h b/drivers/net/wireless/iwlwifi/iwl-sta.h index ba95b1a590a5..d38a350ba0bd 100644 --- a/drivers/net/wireless/iwlwifi/iwl-sta.h +++ b/drivers/net/wireless/iwlwifi/iwl-sta.h | |||
@@ -98,6 +98,17 @@ static inline void iwl_clear_driver_stations(struct iwl_priv *priv) | |||
98 | spin_lock_irqsave(&priv->sta_lock, flags); | 98 | spin_lock_irqsave(&priv->sta_lock, flags); |
99 | memset(priv->stations, 0, sizeof(priv->stations)); | 99 | memset(priv->stations, 0, sizeof(priv->stations)); |
100 | priv->num_stations = 0; | 100 | priv->num_stations = 0; |
101 | |||
102 | /* | ||
103 | * Remove all key information that is not stored as part of station | ||
104 | * information since mac80211 may not have had a | ||
105 | * chance to remove all the keys. When device is reconfigured by | ||
106 | * mac80211 after an error all keys will be reconfigured. | ||
107 | */ | ||
108 | priv->ucode_key_table = 0; | ||
109 | priv->key_mapping_key = 0; | ||
110 | memset(priv->wep_keys, 0, sizeof(priv->wep_keys)); | ||
111 | |||
101 | spin_unlock_irqrestore(&priv->sta_lock, flags); | 112 | spin_unlock_irqrestore(&priv->sta_lock, flags); |
102 | } | 113 | } |
103 | 114 | ||