ath9k: Check early for multi-vif/STA conditions

If multiple interfaces are active or there is no
associated station interface, bail out early and
return 1 so that mac80211 can proceed with the normal
suspend routine.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
Sujith Manoharan 2015-01-30 19:05:24 +05:30 committed by Kalle Valo
parent 410b4e2799
commit dc4b277d51
1 changed files with 7 additions and 15 deletions

View File

@ -209,16 +209,11 @@ int ath9k_suspend(struct ieee80211_hw *hw,
goto fail_wow;
}
ath_cancel_work(sc);
ath_stop_ani(sc);
/*
* none of the sta vifs are associated
* and we are not currently handling multivif
* cases, for instance we have to seperately
* configure 'keep alive frame' for each
* STA.
*/
if (sc->cur_chan->nvifs > 1) {
ath_dbg(common, WOW, "WoW for multivif is not yet supported\n");
ret = 1;
goto fail_wow;
}
if (!test_bit(ATH_OP_PRIM_STA_VIF, &common->op_flags)) {
ath_dbg(common, WOW, "None of the STA vifs are associated\n");
@ -226,11 +221,8 @@ int ath9k_suspend(struct ieee80211_hw *hw,
goto fail_wow;
}
if (sc->cur_chan->nvifs > 1) {
ath_dbg(common, WOW, "WoW for multivif is not yet supported\n");
ret = 1;
goto fail_wow;
}
ath_cancel_work(sc);
ath_stop_ani(sc);
ath9k_wow_map_triggers(sc, wowlan, &wow_triggers_enabled);