diff options
author | Ron Rindjunsky <ron.rindjunsky@intel.com> | 2008-03-28 16:21:10 -0700 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-04-01 17:13:19 -0400 |
commit | c4f552321fa2cfe1d6b1846138d2aa8254308f96 (patch) | |
tree | 6190f636f101aaa14af253406d83495ac5e979bf /drivers/net/wireless/iwlwifi/iwl4965-base.c | |
parent | 897e1cf29e05e3373bf380a417d085cd3389a3c0 (diff) |
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); |