diff options
author | Sara Sharon <sara.sharon@intel.com> | 2019-02-06 12:17:10 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2019-02-22 13:43:53 +0100 |
commit | b9cc81d827ed13502ca9c8523361be26ca1d7220 (patch) | |
tree | 557b5204ff9b7cfea170afa9379fbdb1ecb4230b /net/mac80211/driver-ops.h | |
parent | mac80211: support max channel switch time element (diff) | |
download | linux-b9cc81d827ed13502ca9c8523361be26ca1d7220.tar.xz linux-b9cc81d827ed13502ca9c8523361be26ca1d7220.zip |
mac80211: abort CSA if beacon does not include CSA IEs
In case we receive a beacon without CSA IE while we are in
the middle of channel switch - abort the operation.
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>
Diffstat (limited to 'net/mac80211/driver-ops.h')
-rw-r--r-- | net/mac80211/driver-ops.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/net/mac80211/driver-ops.h b/net/mac80211/driver-ops.h index ba3c07b10cd0..e069122595d0 100644 --- a/net/mac80211/driver-ops.h +++ b/net/mac80211/driver-ops.h @@ -1052,6 +1052,20 @@ drv_post_channel_switch(struct ieee80211_sub_if_data *sdata) return ret; } +static inline void +drv_abort_channel_switch(struct ieee80211_sub_if_data *sdata) +{ + struct ieee80211_local *local = sdata->local; + + if (!check_sdata_in_driver(sdata)) + return; + + trace_drv_abort_channel_switch(local, sdata); + + if (local->ops->abort_channel_switch) + local->ops->abort_channel_switch(&local->hw, &sdata->vif); +} + static inline int drv_join_ibss(struct ieee80211_local *local, struct ieee80211_sub_if_data *sdata) { |