aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRon Rindjunsky <ron.rindjunsky@intel.com>2008-01-28 07:07:21 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-02-29 15:19:18 -0500
commit483fdcecc564ae6b011148a758517cf561f65678 (patch)
tree50598e24876a8ba9f8cb0cba3abe993d7a4122d6
parenteb2ba62ee547b5ae7ca0339c75cd697f96060ca2 (diff)
mac80211: A-MPDU Tx change tx_status to support Block Ack data
This patch adds fields to ieee80211_tx_status in order to allow block ack information exchange between low-level driver,mac80211 and rate scaling module. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--include/net/mac80211.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 0ce2e94dc844..277488176a44 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -445,12 +445,14 @@ struct ieee80211_rx_status {
445 * 445 *
446 * @IEEE80211_TX_STATUS_TX_FILTERED: The frame was not transmitted 446 * @IEEE80211_TX_STATUS_TX_FILTERED: The frame was not transmitted
447 * because the destination STA was in powersave mode. 447 * because the destination STA was in powersave mode.
448 *
449 * @IEEE80211_TX_STATUS_ACK: Frame was acknowledged 448 * @IEEE80211_TX_STATUS_ACK: Frame was acknowledged
449 * @IEEE80211_TX_STATUS_AMPDU: The frame was aggregated, so status
450 * is for the whole aggregation.
450 */ 451 */
451enum ieee80211_tx_status_flags { 452enum ieee80211_tx_status_flags {
452 IEEE80211_TX_STATUS_TX_FILTERED = 1<<0, 453 IEEE80211_TX_STATUS_TX_FILTERED = 1<<0,
453 IEEE80211_TX_STATUS_ACK = 1<<1, 454 IEEE80211_TX_STATUS_ACK = 1<<1,
455 IEEE80211_TX_STATUS_AMPDU = 1<<2,
454}; 456};
455 457
456/** 458/**
@@ -461,24 +463,25 @@ enum ieee80211_tx_status_flags {
461 * 463 *
462 * @control: a copy of the &struct ieee80211_tx_control passed to the driver 464 * @control: a copy of the &struct ieee80211_tx_control passed to the driver
463 * in the tx() callback. 465 * in the tx() callback.
464 *
465 * @flags: transmit status flags, defined above 466 * @flags: transmit status flags, defined above
466 * 467 * @retry_count: number of retries
467 * @ack_signal: signal strength of the ACK frame
468 *
469 * @excessive_retries: set to 1 if the frame was retried many times 468 * @excessive_retries: set to 1 if the frame was retried many times
470 * but not acknowledged 469 * but not acknowledged
471 * 470 * @ampdu_ack_len: number of aggregated frames.
472 * @retry_count: number of retries 471 * relevant only if IEEE80211_TX_STATUS_AMPDU was set.
473 * 472 * @ampdu_ack_map: block ack bit map for the aggregation.
473 * relevant only if IEEE80211_TX_STATUS_AMPDU was set.
474 * @ack_signal: signal strength of the ACK frame
474 * @queue_length: ?? REMOVE 475 * @queue_length: ?? REMOVE
475 * @queue_number: ?? REMOVE 476 * @queue_number: ?? REMOVE
476 */ 477 */
477struct ieee80211_tx_status { 478struct ieee80211_tx_status {
478 struct ieee80211_tx_control control; 479 struct ieee80211_tx_control control;
479 u8 flags; 480 u8 flags;
480 bool excessive_retries;
481 u8 retry_count; 481 u8 retry_count;
482 bool excessive_retries;
483 u8 ampdu_ack_len;
484 u64 ampdu_ack_map;
482 int ack_signal; 485 int ack_signal;
483 int queue_length; 486 int queue_length;
484 int queue_number; 487 int queue_number;