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>
This commit is contained in:
committed by
John W. Linville
parent
897e1cf29e
commit
c4f552321f
@@ -8207,6 +8207,11 @@ static void __devexit iwl4965_pci_remove(struct pci_dev *pdev)
|
|||||||
|
|
||||||
IWL_DEBUG_INFO("*** UNLOAD DRIVER ***\n");
|
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);
|
set_bit(STATUS_EXIT_PENDING, &priv->status);
|
||||||
|
|
||||||
iwl4965_down(priv);
|
iwl4965_down(priv);
|
||||||
@@ -8241,9 +8246,6 @@ static void __devexit iwl4965_pci_remove(struct pci_dev *pdev)
|
|||||||
iwl4965_unset_hw_setting(priv);
|
iwl4965_unset_hw_setting(priv);
|
||||||
iwlcore_clear_stations_table(priv);
|
iwlcore_clear_stations_table(priv);
|
||||||
|
|
||||||
if (priv->mac80211_registered) {
|
|
||||||
ieee80211_unregister_hw(priv->hw);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*netif_stop_queue(dev); */
|
/*netif_stop_queue(dev); */
|
||||||
flush_workqueue(priv->workqueue);
|
flush_workqueue(priv->workqueue);
|
||||||
|
Reference in New Issue
Block a user