diff options
-rw-r--r-- | net/mac80211/sta_info.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c index 38137cb5f6f0..7fd7ac48f893 100644 --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c | |||
@@ -1195,13 +1195,15 @@ ieee80211_sta_ps_deliver_response(struct sta_info *sta, | |||
1195 | ieee80211_is_qos_nullfunc(hdr->frame_control)) | 1195 | ieee80211_is_qos_nullfunc(hdr->frame_control)) |
1196 | qoshdr = ieee80211_get_qos_ctl(hdr); | 1196 | qoshdr = ieee80211_get_qos_ctl(hdr); |
1197 | 1197 | ||
1198 | /* set EOSP for the frame */ | 1198 | /* end service period after last frame */ |
1199 | if (reason == IEEE80211_FRAME_RELEASE_UAPSD && | 1199 | if (skb_queue_empty(&frames)) { |
1200 | qoshdr && skb_queue_empty(&frames)) | 1200 | if (reason == IEEE80211_FRAME_RELEASE_UAPSD && |
1201 | *qoshdr |= IEEE80211_QOS_CTL_EOSP; | 1201 | qoshdr) |
1202 | 1202 | *qoshdr |= IEEE80211_QOS_CTL_EOSP; | |
1203 | info->flags |= IEEE80211_TX_STATUS_EOSP | | 1203 | |
1204 | IEEE80211_TX_CTL_REQ_TX_STATUS; | 1204 | info->flags |= IEEE80211_TX_STATUS_EOSP | |
1205 | IEEE80211_TX_CTL_REQ_TX_STATUS; | ||
1206 | } | ||
1205 | 1207 | ||
1206 | if (qoshdr) | 1208 | if (qoshdr) |
1207 | tids |= BIT(*qoshdr & IEEE80211_QOS_CTL_TID_MASK); | 1209 | tids |= BIT(*qoshdr & IEEE80211_QOS_CTL_TID_MASK); |