forked from Minki/linux
ath9k_htc: Handle monitor interface removal
The monitor interface instance on the target has to be removed before setting it to FULLSLEEP. Handle this properly. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
23367769af
commit
e9201f09ad
@ -1266,12 +1266,6 @@ static void ath9k_htc_stop(struct ieee80211_hw *hw)
|
|||||||
WMI_CMD(WMI_DISABLE_INTR_CMDID);
|
WMI_CMD(WMI_DISABLE_INTR_CMDID);
|
||||||
WMI_CMD(WMI_DRAIN_TXQ_ALL_CMDID);
|
WMI_CMD(WMI_DRAIN_TXQ_ALL_CMDID);
|
||||||
WMI_CMD(WMI_STOP_RECV_CMDID);
|
WMI_CMD(WMI_STOP_RECV_CMDID);
|
||||||
ath9k_hw_phy_disable(ah);
|
|
||||||
ath9k_hw_disable(ah);
|
|
||||||
ath9k_hw_configpcipowersave(ah, 1, 1);
|
|
||||||
ath9k_htc_ps_restore(priv);
|
|
||||||
ath9k_htc_setpower(priv, ATH9K_PM_FULL_SLEEP);
|
|
||||||
|
|
||||||
skb_queue_purge(&priv->tx_queue);
|
skb_queue_purge(&priv->tx_queue);
|
||||||
|
|
||||||
/* Remove monitor interface here */
|
/* Remove monitor interface here */
|
||||||
@ -1284,6 +1278,12 @@ static void ath9k_htc_stop(struct ieee80211_hw *hw)
|
|||||||
"Monitor interface removed\n");
|
"Monitor interface removed\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ath9k_hw_phy_disable(ah);
|
||||||
|
ath9k_hw_disable(ah);
|
||||||
|
ath9k_hw_configpcipowersave(ah, 1, 1);
|
||||||
|
ath9k_htc_ps_restore(priv);
|
||||||
|
ath9k_htc_setpower(priv, ATH9K_PM_FULL_SLEEP);
|
||||||
|
|
||||||
priv->op_flags |= OP_INVALID;
|
priv->op_flags |= OP_INVALID;
|
||||||
|
|
||||||
ath_print(common, ATH_DBG_CONFIG, "Driver halt\n");
|
ath_print(common, ATH_DBG_CONFIG, "Driver halt\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user