Search Linux Wireless

Re: [PATCH 3.9] rt2x00: error in configurations with mesh support disabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Felix,

On Tue, Feb 26, 2013 at 4:09 PM, Felix Fietkau <nbd@xxxxxxxxxxx> wrote:
> If CONFIG_MAC80211_MESH is not set, cfg80211 will now allow advertising
> interface combinations with NL80211_IFTYPE_MESH_POINT present.
> Add appropriate ifdefs to avoid running into errors.

I'm not sure if rt2x00 is the proper place to fix this. To me it
doesn't look good to have to sprinkle these kind of ifdefs throughout
the drivers to check if mac80211 has mesh enabled.
I would prefer a solution where drivers are still able to indicate
that they support mesh interfaces, but where mac80211/cfg80211 prevent
these kind of interfaces from being created.

@Johannes: What is your view on this?

>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
> ---
>  drivers/net/wireless/rt2x00/rt2x00dev.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
> index 1031db6..189744d 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00dev.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
> @@ -1236,8 +1236,10 @@ static inline void rt2x00lib_set_if_combinations(struct rt2x00_dev *rt2x00dev)
>          */
>         if_limit = &rt2x00dev->if_limits_ap;
>         if_limit->max = rt2x00dev->ops->max_ap_intf;
> -       if_limit->types = BIT(NL80211_IFTYPE_AP) |
> -                       BIT(NL80211_IFTYPE_MESH_POINT);
> +       if_limit->types = BIT(NL80211_IFTYPE_AP);
> +#ifdef CONFIG_MAC80211_MESH
> +       if_limit->types |= BIT(NL80211_IFTYPE_MESH_POINT);
> +#endif
>
>         /*
>          * Build up AP interface combinations structure.
> @@ -1309,7 +1311,9 @@ int rt2x00lib_probe_dev(struct rt2x00_dev *rt2x00dev)
>                 rt2x00dev->hw->wiphy->interface_modes |=
>                     BIT(NL80211_IFTYPE_ADHOC) |
>                     BIT(NL80211_IFTYPE_AP) |
> +#ifdef CONFIG_MAC80211_MESH
>                     BIT(NL80211_IFTYPE_MESH_POINT) |
> +#endif
>                     BIT(NL80211_IFTYPE_WDS);
>
>         rt2x00dev->hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
> --
> 1.8.0.2
>
> --
> 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



-- 
---
Gertjan
--
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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux