diff options
author | Ron Rindjunsky | 2008-03-29 00:21:10 +0100 |
---|---|---|
committer | John W. Linville | 2008-04-01 23:13:19 +0200 |
commit | c4f552321fa2cfe1d6b1846138d2aa8254308f96 (patch) | |
tree | 6190f636f101aaa14af253406d83495ac5e979bf /drivers/net/wireless/iwlwifi/iwl4965-base.c | |
parent | iwlwifi: move rate registration to module load (diff) | |
download | kernel-qcow2-linux-c4f552321fa2cfe1d6b1846138d2aa8254308f96.tar.gz kernel-qcow2-linux-c4f552321fa2cfe1d6b1846138d2aa8254308f96.tar.xz kernel-qcow2-linux-c4f552321fa2cfe1d6b1846138d2aa8254308f96.zip |
iwlwifi: unregister to upper stack before releasing resources
This patch fixes an early release of driver's resources before upper stack
was notified that low-level driver shuts down.
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl4965-base.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index ae4e53f5bedd..e98695f7f14c 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c @@ -8207,6 +8207,11 @@ static void __devexit iwl4965_pci_remove(struct pci_dev *pdev) IWL_DEBUG_INFO("*** UNLOAD DRIVER ***\n"); + if (priv->mac80211_registered) { + ieee80211_unregister_hw(priv->hw); + priv->mac80211_registered = 0; + } + set_bit(STATUS_EXIT_PENDING, &priv->status); iwl4965_down(priv); @@ -8241,9 +8246,6 @@ static void __devexit iwl4965_pci_remove(struct pci_dev *pdev) iwl4965_unset_hw_setting(priv); iwlcore_clear_stations_table(priv); - if (priv->mac80211_registered) { - ieee80211_unregister_hw(priv->hw); - } /*netif_stop_queue(dev); */ flush_workqueue(priv->workqueue); |