mac80211: call synchronize_net once in the restart flow
authorSara Sharon <sara.sharon@intel.com>
Sun, 29 Oct 2017 09:51:08 +0000 (11:51 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 11 Dec 2017 11:18:56 +0000 (12:18 +0100)
commit2316380f843dfd4cca5232a3b32dcb2b32b16722
tree9c684113df3cbbdec404453ad55e53f9ce8ba623
parent9fef65443388a66a2c19835e2848a6ecf162710b
mac80211: call synchronize_net once in the restart flow

Currently the restart flow enables RX back, and then proceeds
to tear down RX and TX aggregations.
The TX aggregation tear down calls synchronize_net(), which
waits for packet receiving to be done.
This is done for every session, while RX processing is already
active, and in some reproductions it takes up to 3 seconds.
Add a call once in the restart_work, before we have traffic
active again, and remove the subsequent calls when tearing
down the aggregation.
This requires to move down the code that turns off the
reconfig flag in order to be able to test it in
_ieee80211_stop_tx_ba_session().

Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/agg-tx.c
net/mac80211/main.c
net/mac80211/util.c