Commit d6d23de2 authored by Felix Fietkau's avatar Felix Fietkau Committed by Johannes Berg

mac80211: add a tx control flag to indicate PS-Poll/uAPSD response

Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 964dc9e2
...@@ -460,6 +460,8 @@ struct ieee80211_bss_conf { ...@@ -460,6 +460,8 @@ struct ieee80211_bss_conf {
* @IEEE80211_TX_CTL_DONTFRAG: Don't fragment this packet even if it * @IEEE80211_TX_CTL_DONTFRAG: Don't fragment this packet even if it
* would be fragmented by size (this is optional, only used for * would be fragmented by size (this is optional, only used for
* monitor injection). * monitor injection).
* @IEEE80211_TX_CTL_PS_RESPONSE: This frame is a response to a poll
* frame (PS-Poll or uAPSD).
* *
* Note: If you have to add new flags to the enumeration, then don't * Note: If you have to add new flags to the enumeration, then don't
* forget to update %IEEE80211_TX_TEMPORARY_FLAGS when necessary. * forget to update %IEEE80211_TX_TEMPORARY_FLAGS when necessary.
...@@ -495,6 +497,7 @@ enum mac80211_tx_control_flags { ...@@ -495,6 +497,7 @@ enum mac80211_tx_control_flags {
IEEE80211_TX_STATUS_EOSP = BIT(28), IEEE80211_TX_STATUS_EOSP = BIT(28),
IEEE80211_TX_CTL_USE_MINRATE = BIT(29), IEEE80211_TX_CTL_USE_MINRATE = BIT(29),
IEEE80211_TX_CTL_DONTFRAG = BIT(30), IEEE80211_TX_CTL_DONTFRAG = BIT(30),
IEEE80211_TX_CTL_PS_RESPONSE = BIT(31),
}; };
#define IEEE80211_TX_CTL_STBC_SHIFT 23 #define IEEE80211_TX_CTL_STBC_SHIFT 23
......
...@@ -1132,6 +1132,7 @@ static void ieee80211_send_null_response(struct ieee80211_sub_if_data *sdata, ...@@ -1132,6 +1132,7 @@ static void ieee80211_send_null_response(struct ieee80211_sub_if_data *sdata,
* ends the poll/service period. * ends the poll/service period.
*/ */
info->flags |= IEEE80211_TX_CTL_NO_PS_BUFFER | info->flags |= IEEE80211_TX_CTL_NO_PS_BUFFER |
IEEE80211_TX_CTL_PS_RESPONSE |
IEEE80211_TX_STATUS_EOSP | IEEE80211_TX_STATUS_EOSP |
IEEE80211_TX_CTL_REQ_TX_STATUS; IEEE80211_TX_CTL_REQ_TX_STATUS;
...@@ -1269,7 +1270,8 @@ ieee80211_sta_ps_deliver_response(struct sta_info *sta, ...@@ -1269,7 +1270,8 @@ ieee80211_sta_ps_deliver_response(struct sta_info *sta,
* STA may still remain is PS mode after this frame * STA may still remain is PS mode after this frame
* exchange. * exchange.
*/ */
info->flags |= IEEE80211_TX_CTL_NO_PS_BUFFER; info->flags |= IEEE80211_TX_CTL_NO_PS_BUFFER |
IEEE80211_TX_CTL_PS_RESPONSE;
/* /*
* Use MoreData flag to indicate whether there are * Use MoreData flag to indicate whether there are
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment