diff options
author | Luciano Coelho <luciano.coelho@intel.com> | 2014-10-08 09:48:38 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-10-09 11:30:09 +0200 |
commit | f1d65583bc5bd43ace8abb9d4f4d9e8da407f708 (patch) | |
tree | 7c51dcf4057ab096c49700567162ceeb7458e226 /net/mac80211/mlme.c | |
parent | 6d027bcc8a4e2518ae825b0ff3dd069ab1abfe96 (diff) | |
download | op-kernel-dev-f1d65583bc5bd43ace8abb9d4f4d9e8da407f708.zip op-kernel-dev-f1d65583bc5bd43ace8abb9d4f4d9e8da407f708.tar.gz |
mac80211: add post_channel_switch driver operation
As a counterpart to the pre_channel_switch operation, add a
post_channel_switch operation. This allows the drivers to go back to
a normal configuration after the channel switch is completed.
Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r-- | net/mac80211/mlme.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index d23d6d9..cb1a8c3 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -1010,6 +1010,15 @@ static void ieee80211_chswitch_work(struct work_struct *work) sdata->csa_block_tx = false; } + ret = drv_post_channel_switch(sdata); + if (ret) { + sdata_info(sdata, + "driver post channel switch failed, disconnecting\n"); + ieee80211_queue_work(&local->hw, + &ifmgd->csa_connection_drop_work); + goto out; + } + ieee80211_sta_reset_beacon_monitor(sdata); ieee80211_sta_reset_conn_monitor(sdata); |