summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYan-Hsuan Chuang <yhchuang@realtek.com>2020-03-12 15:43:37 +0800
committerJohannes Berg <johannes.berg@intel.com>2020-03-20 14:42:21 +0100
commit8fa180bb4aceaa25233ea61032eab5b025fb522f (patch)
tree9c6678fef56ba6b9d9045dc44a706401bd381673
parent306b79ea6ece18d66bea80876983ae693d66ed52 (diff)
downloadlinux-starfive-8fa180bb4aceaa25233ea61032eab5b025fb522f.tar.gz
linux-starfive-8fa180bb4aceaa25233ea61032eab5b025fb522f.tar.bz2
linux-starfive-8fa180bb4aceaa25233ea61032eab5b025fb522f.zip
mac80211: driver can remain on channel if not using chan_ctx
Some of the drivers are not using channel context, but let the stack to control/switch channels instead. For such cases, driver can still remain on channel because the mac80211 stack actually supports it. The stack will check if the driver is using chan_ctx and has ops->remain_on_channel been hooked. Otherwise it will start its ROC work to remain on channel. So, even if the driver is not using chan_ctx, the driver is still capable of doing remain on channel. Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com> Link: https://lore.kernel.org/r/20200312074337.16198-1-yhchuang@realtek.com Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--net/mac80211/main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index fefdd1ca8365..8345926193de 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -576,7 +576,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_nm(size_t priv_data_len,
WIPHY_FLAG_REPORTS_OBSS |
WIPHY_FLAG_OFFCHAN_TX;
- if (ops->remain_on_channel)
+ if (!use_chanctx || ops->remain_on_channel)
wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
wiphy->features |= NL80211_FEATURE_SK_TX_STATUS |