commit d552bfb65241a35d48e44ddb0d27e0454f579ab4 Author: Kolekar, Abhijeet abhijeet.kolekar@intel.com Date: Fri Dec 19 10:37:41 2008 +0800
iwl3945: release resources before shutting down
Release resource before shutting down and notify upper stack.
Signed-off-by: Abhijeet Kolekar abhijeet.kolekar@intel.com Signed-off-by: Zhu Yi yi.zhu@intel.com Signed-off-by: John W. Linville linville@tuxdriver.com --- drivers/net/wireless/iwlwifi/iwl3945-base.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 22e7e99..8cb0fa2 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c @@ -8096,7 +8096,12 @@ static void __devexit iwl3945_pci_remove(struct pci_dev *pdev)
set_bit(STATUS_EXIT_PENDING, &priv->status);
- iwl3945_down(priv); + if (priv->mac80211_registered) { + ieee80211_unregister_hw(priv->hw); + priv->mac80211_registered = 0; + } else { + iwl3945_down(priv); + }
/* make sure we flush any pending irq or * tasklet for the driver @@ -8121,9 +8126,6 @@ static void __devexit iwl3945_pci_remove(struct pci_dev *pdev) iwl3945_unset_hw_setting(priv); iwl3945_clear_stations_table(priv);
- if (priv->mac80211_registered) - ieee80211_unregister_hw(priv->hw); - /*netif_stop_queue(dev); */ flush_workqueue(priv->workqueue);