]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: clean up/fix aggregation code
authorJohannes Berg <johannes@sipsolutions.net>
Tue, 6 Apr 2010 09:18:47 +0000 (11:18 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 7 Apr 2010 18:38:05 +0000 (14:38 -0400)
commitf0440d67ac64a61dd149e2891d9611ec6d11e1ae
treed62c9993e49f90ca962cd763b096911d22d7e051
parent0991af2679749a4160b4abb9c7c2b11efaa98dea
mac80211: clean up/fix aggregation code

The aggregation code has a number of quirks, like
inventing an unneeded WLAN_BACK_TIMER value and
leaking memory under certain circumstances during
station destruction. Fix these issues by using
the regular aggregation session teardown code and
blocking new aggregation sessions, all before the
station is really destructed.

As a side effect, this gets rid of the long code
block to destroy aggregation safely.

Additionally, rename tid_state_rx which can only
have the values IDLE and OPERATIONAL to
tid_active_rx to make it easier to understand
that there is no bitwise stuff going on on the
RX side -- the TX side remains because it needs
to keep track of the driver and peer states.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
include/linux/ieee80211.h
net/mac80211/agg-rx.c
net/mac80211/debugfs_sta.c
net/mac80211/rx.c
net/mac80211/sta_info.c
net/mac80211/sta_info.h