summaryrefslogtreecommitdiffstats
path: root/net/mac80211/main.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-03-26 18:47:18 +0200
committerJohn W. Linville <linville@tuxdriver.com>2012-04-10 20:54:04 +0200
commit81ddbb5c1188dfaa98c67832a751117fcacda75d (patch)
treefe15f28483843f5daa2f14b1ee3ed29802e2d21a /net/mac80211/main.c
parentrtlwifi: Add missing DMA buffer unmapping for PCI drivers (diff)
downloadlinux-81ddbb5c1188dfaa98c67832a751117fcacda75d.tar.xz
linux-81ddbb5c1188dfaa98c67832a751117fcacda75d.zip
mac80211: don't always advertise remain-on-channel
Not all devices are really capable of implementing remain-on-channel, even if it is implemented in SW, as they can't necessarily deal with channel changes while associated. Remove the WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL and add it only if either the driver has remain_on_channel implemented in the driver/device. Also add it to all drivers that advertise P2P right now since those definitely have to have it working. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Acked-by: Luciano Coelho <coelho@ti.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r--net/mac80211/main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 16336480c631..d019f0d3a0fe 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -557,8 +557,10 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
WIPHY_FLAG_4ADDR_AP |
WIPHY_FLAG_4ADDR_STATION |
WIPHY_FLAG_REPORTS_OBSS |
- WIPHY_FLAG_OFFCHAN_TX |
- WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
+ WIPHY_FLAG_OFFCHAN_TX;
+
+ if (ops->remain_on_channel)
+ wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
wiphy->features = NL80211_FEATURE_SK_TX_STATUS |
NL80211_FEATURE_HT_IBSS;