HomeFreeBSD

Fix up some corner cases with aggregation handling.
rS235774Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

Fix up some corner cases with aggregation handling.

I've come across a weird scenario in net80211 where two TX streams will
happily attempt to setup an aggregation session together.
If we're very lucky, it happens concurrently on separate CPUs and the
total lack of locking in the net80211 aggregation code causes this stuff
to race. Badly.

So >1 call would occur to the ath(4) addba start, but only one call would
complete to addba complete or timeout. The TID would thus stay paused.

The real fix is to implement some proper per-node (or maybe per-TID)
locking in net80211, which then could be leveraged by the ath(4) TX
aggregation code.

Whilst I'm at it, shuffle around the debugging messages a bit.
I like to keep people on their toes.

Details

Provenance
adrianAuthored on
Parents
rS235773: Correct use_screen() and use_window() prototypes in curs_threads(3x).
Branches
Unknown
Tags
Unknown

Event Timeline