mac80211: fix mesh advertisement
When a mac80211-based driver advertises mesh mode support, this will be advertised to userspace. However, if mac80211 was compiled without mesh support, then that won't actually be true. Fix this by removing the bit for mesh if mesh isn't compiled in. Since this synchronizes what we advertise to cfg80211 and actually support, it means we can now rely on cfg80211's interface type checks and need not check again in mac80211. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
45f7e3116f
commit
5eb5a52da6
@ -622,6 +622,11 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
|
||||
/* mac80211 always supports monitor */
|
||||
local->hw.wiphy->interface_modes |= BIT(NL80211_IFTYPE_MONITOR);
|
||||
|
||||
#ifndef CONFIG_MAC80211_MESH
|
||||
/* mesh depends on Kconfig, but drivers should set it if they want */
|
||||
local->hw.wiphy->interface_modes &= ~BIT(NL80211_IFTYPE_MESH_POINT);
|
||||
#endif
|
||||
|
||||
if (local->hw.flags & IEEE80211_HW_SIGNAL_DBM)
|
||||
local->hw.wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM;
|
||||
else if (local->hw.flags & IEEE80211_HW_SIGNAL_UNSPEC)
|
||||
|
Reference in New Issue
Block a user