Search Linux Wireless

Re: [PATCH v2] mac80211: add TDLS supported channels correctly

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

 



On Wed, Jan 7, 2015 at 4:21 PM, Arik Nemtsov <arik@xxxxxxxxxx> wrote:
> The function adding the supported channels IE during a TDLS connection had
> several issues:
> 1. If the entire subband is usable, the function exitted the loop without
>    adding it
> 2. The function only checked chandef_usable, ignoring flags like RADAR
>    which would prevent TDLS off-channel communcation.
> 3. HT20 was explicitly required in the chandef, while not a requirement
>    for TDLS off-channel.
>
> Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx>
> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
> ---
>  net/mac80211/tdls.c | 26 +++++++++++++++++++++-----
>  1 file changed, 21 insertions(+), 5 deletions(-)
>
> diff --git a/net/mac80211/tdls.c b/net/mac80211/tdls.c
> index 55ddd77..c5c4342 100644
> --- a/net/mac80211/tdls.c
> +++ b/net/mac80211/tdls.c
> @@ -68,17 +68,24 @@ ieee80211_tdls_add_subband(struct ieee80211_sub_if_data *sdata,
>                 ch = ieee80211_get_channel(sdata->local->hw.wiphy, i);
>                 if (ch) {
>                         /* we will be active on the channel */
> -                       u32 flags = IEEE80211_CHAN_DISABLED |
> -                                   IEEE80211_CHAN_NO_IR;
>                         cfg80211_chandef_create(&chandef, ch,
> -                                               NL80211_CHAN_HT20);
> -                       if (cfg80211_chandef_usable(sdata->local->hw.wiphy,
> -                                                   &chandef, flags)) {
> +                                               NL80211_CHAN_NO_HT);
> +                       if (cfg80211_reg_can_beacon(sdata->local->hw.wiphy,
> +                                                   &chandef,
> +                                                   sdata->wdev.iftype)) {
>                                 ch_cnt++;
> +                               /*
> +                                * check if the next channel is also part of
> +                                * this allowed range */
> +                                *

argh. resending. this wasn't compiled properly :)
--
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