Re: regression after, " ath9k_htc: Add support for mesh interfaces"
From: Johannes Berg <johannes@sipsolutions.net>
Date: 2013-06-26 07:31:31
From: Johannes Berg <johannes@sipsolutions.net>
Date: 2013-06-26 07:31:31
On Tue, 2013-06-25 at 13:05 -0700, Thomas Pedersen wrote:
That warning is triggered by wiphy_verify_combinations():
if (WARN_ON((wiphy->interface_modes & types) != types))
return -EINVAL;
But before that, the mesh iftype bit is cleared in ieee80211_register_hw():
#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
It seems the intention was to avoid an #ifdef CONFIG_MAC80211_MESH in
every driver, but then mac80211 also has to clear the MESH_POINT bit
for each ieee80211_iface_limit? I don't really see a cleaner way of
resolving this.The problem is that the data structures there are const, so we can't modify them. I think the other drivers just have an #ifdef on MAC80211_MESH or so in there. johannes