提交 815868e7 编写于 作者: J John W. Linville
...@@ -745,13 +745,17 @@ static int ath9k_hif_usb_alloc_urbs(struct hif_device_usb *hif_dev) ...@@ -745,13 +745,17 @@ static int ath9k_hif_usb_alloc_urbs(struct hif_device_usb *hif_dev)
/* RX */ /* RX */
if (ath9k_hif_usb_alloc_rx_urbs(hif_dev) < 0) if (ath9k_hif_usb_alloc_rx_urbs(hif_dev) < 0)
goto err; goto err_rx;
/* Register Read */ /* Register Read */
if (ath9k_hif_usb_alloc_reg_in_urb(hif_dev) < 0) if (ath9k_hif_usb_alloc_reg_in_urb(hif_dev) < 0)
goto err; goto err_reg;
return 0; return 0;
err_reg:
ath9k_hif_usb_dealloc_rx_urbs(hif_dev);
err_rx:
ath9k_hif_usb_dealloc_tx_urbs(hif_dev);
err: err:
return -ENOMEM; return -ENOMEM;
} }
......
...@@ -98,6 +98,17 @@ static inline void iwl_clear_driver_stations(struct iwl_priv *priv) ...@@ -98,6 +98,17 @@ static inline void iwl_clear_driver_stations(struct iwl_priv *priv)
spin_lock_irqsave(&priv->sta_lock, flags); spin_lock_irqsave(&priv->sta_lock, flags);
memset(priv->stations, 0, sizeof(priv->stations)); memset(priv->stations, 0, sizeof(priv->stations));
priv->num_stations = 0; priv->num_stations = 0;
/*
* Remove all key information that is not stored as part of station
* information since mac80211 may not have had a
* chance to remove all the keys. When device is reconfigured by
* mac80211 after an error all keys will be reconfigured.
*/
priv->ucode_key_table = 0;
priv->key_mapping_key = 0;
memset(priv->wep_keys, 0, sizeof(priv->wep_keys));
spin_unlock_irqrestore(&priv->sta_lock, flags); spin_unlock_irqrestore(&priv->sta_lock, flags);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册