iwlagn: move iwl_stop / wake_queue to the upper layer
Add a wrapper in the upper layer to call the mac80211's function.
This allows not to have the transport layer call mac80211 directly.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 1142d85..61f8ea6 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -1519,7 +1519,7 @@
if (!exit_pending)
clear_bit(STATUS_EXIT_PENDING, &priv->shrd->status);
- if (priv->shrd->mac80211_registered)
+ if (priv->mac80211_registered)
ieee80211_stop_queues(priv->hw);
iwl_trans_stop_device(trans(priv));
@@ -1863,7 +1863,7 @@
IWL_ERR(priv, "Failed to register hw (error %d)\n", ret);
return ret;
}
- priv->shrd->mac80211_registered = 1;
+ priv->mac80211_registered = 1;
return 0;
}
@@ -3311,7 +3311,6 @@
priv->shrd = &priv->_shrd;
priv->shrd->bus = bus;
priv->shrd->priv = priv;
- priv->shrd->hw = hw;
bus_set_drv_data(priv->bus, priv->shrd);
priv->shrd->trans = trans_ops->alloc(priv->shrd);
@@ -3487,9 +3486,9 @@
iwl_testmode_cleanup(priv);
iwl_leds_exit(priv);
- if (priv->shrd->mac80211_registered) {
+ if (priv->mac80211_registered) {
ieee80211_unregister_hw(priv->hw);
- priv->shrd->mac80211_registered = 0;
+ priv->mac80211_registered = 0;
}
iwl_tt_exit(priv);