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.
This commit is contained in:
parent
de0af8d153
commit
76af1a93c9
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user