diff options
author | Ron Rindjunsky <ron.rindjunsky@intel.com> | 2008-01-28 07:07:21 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-02-29 15:19:18 -0500 |
commit | 483fdcecc564ae6b011148a758517cf561f65678 (patch) | |
tree | 50598e24876a8ba9f8cb0cba3abe993d7a4122d6 | |
parent | eb2ba62ee547b5ae7ca0339c75cd697f96060ca2 (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.h | 21 |
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 | */ |
451 | enum ieee80211_tx_status_flags { | 452 | enum 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 | */ |
477 | struct ieee80211_tx_status { | 478 | struct 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; |