]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: make TX aggregation start/stop request async
authorJohannes Berg <johannes.berg@intel.com>
Thu, 10 Jun 2010 08:21:42 +0000 (10:21 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 14 Jun 2010 19:39:27 +0000 (15:39 -0400)
commitd68fcba3c7c5ec898c0415529cc437be0fb593ed
tree88795edc149fd88574fece0c8f23774ee8a9155c
parentd205944d7671e61ed9adc9ddf9090b7b260408d0
mac80211: make TX aggregation start/stop request async

When the driver or rate control requests starting
or stopping an aggregation session, that currently
causes a direct callback into the driver, which
could potentially cause locking problems. Also,
the functions need to be callable from contexts
that cannot sleep, and thus will interfere with
making the ampdu_action callback sleeping.

To address these issues, add a new work item for
each station that will process any start or stop
requests out of line.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/agg-tx.c
net/mac80211/debugfs_sta.c
net/mac80211/ht.c
net/mac80211/ieee80211_i.h
net/mac80211/sta_info.c
net/mac80211/sta_info.h
net/mac80211/tx.c