Search Linux Wireless

Re: [PATCH 2/5] cfg80211: leave invalid channels on regdomain change

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

 



On Wed, Oct 22, 2014 at 11:37 PM, Arik Nemtsov <arik@xxxxxxxxxx> wrote:
> +static bool reg_wdev_chan_valid(struct wiphy *wiphy, struct wireless_dev *wdev)
> +{
> +       struct ieee80211_channel *ch;
> +       struct cfg80211_chan_def chandef;
> +       struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
> +       bool ret = true;
> +
> +       wdev_lock(wdev);
> +
> +       if (!wdev->netdev || !netif_running(wdev->netdev))
> +               goto out;
> +
> +       switch (wdev->iftype) {
> +       case NL80211_IFTYPE_AP:
> +       case NL80211_IFTYPE_P2P_GO:
> +               if (!wdev->beacon_interval)
> +                       goto out;
> +
> +               ret = cfg80211_reg_can_beacon(wiphy,
> +                                             &wdev->chandef, wdev->iftype);
> +               break;
> +       case NL80211_IFTYPE_STATION:
> +       case NL80211_IFTYPE_P2P_CLIENT:
> +               if (!wdev->current_bss ||
> +                   !wdev->current_bss->pub.channel)
> +                       goto out;
> +
> +               ch = wdev->current_bss->pub.channel;
> +               if (rdev->ops->get_channel &&
> +                   !rdev_get_channel(rdev, wdev, &chandef))
> +                       ret = cfg80211_chandef_usable(wiphy, &chandef,
> +                                                     IEEE80211_CHAN_DISABLED);
> +               else
> +                       ret = !(ch->flags & IEEE80211_CHAN_DISABLED);
> +               break;
> +       default:
> +               /* others not implemented for now */

Looks good to me except this of course, since its a flag that will
enable this per wiphy might as well WARN() if you really do not want
to think about this. That means that once someone does enable this on
a wiphy with the other type of interfaces they'll have to think about
this, likewise one could warn if a wiphy interface is registered with
the flag to follow this but supports a mode not handled here yet.

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