summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/ath/if_ath_tx_ht.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/sys/dev/ath/if_ath_tx_ht.c b/sys/dev/ath/if_ath_tx_ht.c
index b7875a3..a2fc1c0 100644
--- a/sys/dev/ath/if_ath_tx_ht.c
+++ b/sys/dev/ath/if_ath_tx_ht.c
@@ -741,18 +741,14 @@ ath_tx_form_aggr(struct ath_softc *sc, struct ath_node *an, struct ath_tid *tid,
/*
* If the current frame has an RTS/CTS configuration
- * that differs from the first frame, don't include
- * this in the aggregate. It's possible that the
- * "right" thing to do here is enforce the aggregate
- * configuration.
+ * that differs from the first frame, override the
+ * subsequent frame with this config.
*/
- if ((bf_first->bf_state.bfs_txflags &
- (HAL_TXDESC_RTSENA | HAL_TXDESC_CTSENA)) !=
- (bf->bf_state.bfs_txflags &
- (HAL_TXDESC_RTSENA | HAL_TXDESC_CTSENA))) {
- status = ATH_AGGR_NONAGGR;
- break;
- }
+ bf->bf_state.bfs_txflags &=
+ (HAL_TXDESC_RTSENA | HAL_TXDESC_CTSENA);
+ bf->bf_state.bfs_txflags |=
+ bf_first->bf_state.bfs_txflags &
+ (HAL_TXDESC_RTSENA | HAL_TXDESC_CTSENA);
/*
* TODO: If it's _before_ the BAW left edge, complain very
OpenPOWER on IntegriCloud