diff options
author | adrian <adrian@FreeBSD.org> | 2012-09-08 02:56:09 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2012-09-08 02:56:09 +0000 |
commit | fb40c86f7f3666ca5e299037097af8acad817a85 (patch) | |
tree | f2c34ed68e91e9a611957fdac5a2367110d344d8 /sys/dev | |
parent | 7074fc29211bc931f396cf9991133680f9f4c9ea (diff) | |
download | FreeBSD-src-fb40c86f7f3666ca5e299037097af8acad817a85.zip FreeBSD-src-fb40c86f7f3666ca5e299037097af8acad817a85.tar.gz |
Correctly mask out the RTS/CTS flags when forming aggregates.
This had the side effect of clearing HAL_TXDESC_CLRDMASK for a bunch of
frames, meaning they'd end up being potentially filtered if there were
an error. This is fine in the previous world as they'd just be
software retried but now that I'm working on filtered frames, these
descriptors would be endlessly retried until another valid frame would
come along that had CLRDMASK set.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ath/if_ath_tx_ht.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/ath/if_ath_tx_ht.c b/sys/dev/ath/if_ath_tx_ht.c index 6495a04..f12ec6e 100644 --- a/sys/dev/ath/if_ath_tx_ht.c +++ b/sys/dev/ath/if_ath_tx_ht.c @@ -742,7 +742,7 @@ ath_tx_form_aggr(struct ath_softc *sc, struct ath_node *an, * subsequent frame with this config. */ bf->bf_state.bfs_txflags &= - (HAL_TXDESC_RTSENA | HAL_TXDESC_CTSENA); + ~ (HAL_TXDESC_RTSENA | HAL_TXDESC_CTSENA); bf->bf_state.bfs_txflags |= bf_first->bf_state.bfs_txflags & (HAL_TXDESC_RTSENA | HAL_TXDESC_CTSENA); |