The station has to inform the offchannel status to the assiociated AP while switching b/w oper and off-channel. The station uses pspoll to fetch the buffered data from the AP and the pspoll frame can only be used when the powersave is enabled. For non-PS case, the station has to use nullfunc frame notification. Fix that. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> --- net/mac80211/offchannel.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/mac80211/offchannel.c b/net/mac80211/offchannel.c index f054e94..f7aedfc 100644 --- a/net/mac80211/offchannel.c +++ b/net/mac80211/offchannel.c @@ -129,7 +129,7 @@ void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local, if (sdata->vif.type != NL80211_IFTYPE_MONITOR) { netif_tx_stop_all_queues(sdata->dev); - if (offchannel_ps_enable && + if ((offchannel_ps_enable || !sdata->u.mgd.powersave) && (sdata->vif.type == NL80211_IFTYPE_STATION) && sdata->u.mgd.associated) ieee80211_offchannel_ps_enable(sdata, true); @@ -152,7 +152,7 @@ void ieee80211_offchannel_return(struct ieee80211_local *local, continue; /* Tell AP we're back */ - if (offchannel_ps_disable && + if ((offchannel_ps_disable || !sdata->u.mgd.powersave) && sdata->vif.type == NL80211_IFTYPE_STATION) { if (sdata->u.mgd.associated) ieee80211_offchannel_ps_disable(sdata); -- 1.7.9.4 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html