forked from luck/tmp_suning_uos_patched
mac80211: set CLEAR_PS for pspolled frames
This patch sets IEEE80211_TX_CTL_CLEAR_PS_FILT for outgoing frames for a half-wake station. this is necessary if one wants to get ps-poll working properly with a p54 ap. Signed-off-by: Christian Lamparter <chunkeey@web.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
d577e7cdb1
commit
fef99929cd
@ -409,8 +409,24 @@ ieee80211_tx_h_unicast_ps_buf(struct ieee80211_tx_data *tx)
|
||||
sta->sta.addr);
|
||||
}
|
||||
#endif /* CONFIG_MAC80211_VERBOSE_PS_DEBUG */
|
||||
clear_sta_flags(sta, WLAN_STA_PSPOLL);
|
||||
if (test_and_clear_sta_flags(sta, WLAN_STA_PSPOLL)) {
|
||||
/*
|
||||
* The sleeping station with pending data is now snoozing.
|
||||
* It queried us for its buffered frames and will go back
|
||||
* to deep sleep once it got everything.
|
||||
*
|
||||
* inform the driver, in case the hardware does powersave
|
||||
* frame filtering and keeps a station blacklist on its own
|
||||
* (e.g: p54), so that frames can be delivered unimpeded.
|
||||
*
|
||||
* Note: It should be save to disable the filter now.
|
||||
* As, it is really unlikely that we still have any pending
|
||||
* frame for this station in the hw's buffers/fifos left,
|
||||
* that is not rejected with a unsuccessful tx_status yet.
|
||||
*/
|
||||
|
||||
info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT;
|
||||
}
|
||||
return TX_CONTINUE;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user