aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/rx.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r--net/mac80211/rx.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 9a703f00b5fb..32c8ee43f720 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1194,10 +1194,12 @@ ieee80211_rx_h_uapsd_and_pspoll(struct ieee80211_rx_data *rx)
1194 return RX_CONTINUE; 1194 return RX_CONTINUE;
1195 1195
1196 if (unlikely(ieee80211_is_pspoll(hdr->frame_control))) { 1196 if (unlikely(ieee80211_is_pspoll(hdr->frame_control))) {
1197 if (!test_sta_flags(rx->sta, WLAN_STA_PS_DRIVER)) 1197 if (!test_sta_flags(rx->sta, WLAN_STA_SP)) {
1198 ieee80211_sta_ps_deliver_poll_response(rx->sta); 1198 if (!test_sta_flags(rx->sta, WLAN_STA_PS_DRIVER))
1199 else 1199 ieee80211_sta_ps_deliver_poll_response(rx->sta);
1200 set_sta_flags(rx->sta, WLAN_STA_PSPOLL); 1200 else
1201 set_sta_flags(rx->sta, WLAN_STA_PSPOLL);
1202 }
1201 1203
1202 /* Free PS Poll skb here instead of returning RX_DROP that would 1204 /* Free PS Poll skb here instead of returning RX_DROP that would
1203 * count as an dropped frame. */ 1205 * count as an dropped frame. */