Am 26.06.2013 20:52, schrieb Thomas Pedersen:
On Wed, Jun 26, 2013 at 12:31 AM, Johannes Berg
<johannes@xxxxxxxxxxxxxxxx> wrote:
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.
Indeed, ath5k and rt2x00 at least already do this.
Thanks,
I just discovered one more issue with mesh on ath9k* devices.
if i try to do "ifconfig mesh0 down" this task will freeze and after
some time kernel will oops.
Steps to reproduce:
iw dev wlan2 interface add mesh0 type mp mesh_id mesh
iwconfig mesh0 channel 1
ifconfig mesh0 10.0.0.1 netmask 255.255.255.0 up
sleep 30
ifconfig mesh0 down
--
Regards,
Oleksij
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html