]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/wireless/util.c
Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
[karo-tx-linux.git] / net / wireless / util.c
index 6cbac99ae03d25e2714eaa1b043f362f3e245387..f5ad4d94ba88692e2b400e4a404b26a11318815e 100644 (file)
@@ -1155,6 +1155,26 @@ int cfg80211_get_p2p_attr(const u8 *ies, unsigned int len,
 }
 EXPORT_SYMBOL(cfg80211_get_p2p_attr);
 
+bool ieee80211_operating_class_to_band(u8 operating_class,
+                                      enum ieee80211_band *band)
+{
+       switch (operating_class) {
+       case 112:
+       case 115 ... 127:
+               *band = IEEE80211_BAND_5GHZ;
+               return true;
+       case 81:
+       case 82:
+       case 83:
+       case 84:
+               *band = IEEE80211_BAND_2GHZ;
+               return true;
+       }
+
+       return false;
+}
+EXPORT_SYMBOL(ieee80211_operating_class_to_band);
+
 int cfg80211_validate_beacon_int(struct cfg80211_registered_device *rdev,
                                 u32 beacon_int)
 {
@@ -1258,12 +1278,12 @@ int cfg80211_can_use_iftype_chan(struct cfg80211_registered_device *rdev,
        list_for_each_entry(wdev_iter, &rdev->wdev_list, list) {
                if (wdev_iter == wdev)
                        continue;
-               if (wdev_iter->netdev) {
-                       if (!netif_running(wdev_iter->netdev))
-                               continue;
-               } else if (wdev_iter->iftype == NL80211_IFTYPE_P2P_DEVICE) {
+               if (wdev_iter->iftype == NL80211_IFTYPE_P2P_DEVICE) {
                        if (!wdev_iter->p2p_started)
                                continue;
+               } else if (wdev_iter->netdev) {
+                       if (!netif_running(wdev_iter->netdev))
+                               continue;
                } else {
                        WARN_ON(1);
                }