diff options
-rw-r--r-- | include/net/mac80211.h | 5 | ||||
-rw-r--r-- | net/mac80211/tx.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index cd4eb20f98f5..76d43e12cc29 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -268,6 +268,10 @@ struct ieee80211_bss_conf { | |||
268 | * @IEEE80211_TX_CTL_PSPOLL_RESPONSE: (internal?) | 268 | * @IEEE80211_TX_CTL_PSPOLL_RESPONSE: (internal?) |
269 | * This frame is a response to a PS-poll frame and should be sent | 269 | * This frame is a response to a PS-poll frame and should be sent |
270 | * although the station is in powersave mode. | 270 | * although the station is in powersave mode. |
271 | * @IEEE80211_TX_CTL_MORE_FRAMES: More frames will be passed to the | ||
272 | * transmit function after the current frame, this can be used | ||
273 | * by drivers to kick the DMA queue only if unset or when the | ||
274 | * queue gets full. | ||
271 | */ | 275 | */ |
272 | enum mac80211_tx_control_flags { | 276 | enum mac80211_tx_control_flags { |
273 | IEEE80211_TX_CTL_REQ_TX_STATUS = BIT(0), | 277 | IEEE80211_TX_CTL_REQ_TX_STATUS = BIT(0), |
@@ -288,6 +292,7 @@ enum mac80211_tx_control_flags { | |||
288 | IEEE80211_TX_INTFL_RETRIED = BIT(15), | 292 | IEEE80211_TX_INTFL_RETRIED = BIT(15), |
289 | IEEE80211_TX_INTFL_DONT_ENCRYPT = BIT(16), | 293 | IEEE80211_TX_INTFL_DONT_ENCRYPT = BIT(16), |
290 | IEEE80211_TX_CTL_PSPOLL_RESPONSE = BIT(17), | 294 | IEEE80211_TX_CTL_PSPOLL_RESPONSE = BIT(17), |
295 | IEEE80211_TX_CTL_MORE_FRAMES = BIT(18), | ||
291 | }; | 296 | }; |
292 | 297 | ||
293 | /** | 298 | /** |
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 7cffaa046b33..7f2e4cdb8904 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -1154,6 +1154,9 @@ static int __ieee80211_tx(struct ieee80211_local *local, | |||
1154 | next = skb->next; | 1154 | next = skb->next; |
1155 | len = skb->len; | 1155 | len = skb->len; |
1156 | 1156 | ||
1157 | if (next) | ||
1158 | info->flags |= IEEE80211_TX_CTL_MORE_FRAMES; | ||
1159 | |||
1157 | sdata = vif_to_sdata(info->control.vif); | 1160 | sdata = vif_to_sdata(info->control.vif); |
1158 | 1161 | ||
1159 | switch (sdata->vif.type) { | 1162 | switch (sdata->vif.type) { |