]> Pileus Git - ~andy/linux/blobdiff - net/wireless/util.c
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/xscaleiop
[~andy/linux] / net / wireless / util.c
index e6046901055ad4690c3736ab330271516ae8cd2c..f54424693a38a378bd5e7cdc25326907b5fbb983 100644 (file)
@@ -33,6 +33,29 @@ int ieee80211_frequency_to_channel(int freq)
 }
 EXPORT_SYMBOL(ieee80211_frequency_to_channel);
 
+struct ieee80211_channel *__ieee80211_get_channel(struct wiphy *wiphy,
+                                                 int freq)
+{
+       enum ieee80211_band band;
+       struct ieee80211_supported_band *sband;
+       int i;
+
+       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+               sband = wiphy->bands[band];
+
+               if (!sband)
+                       continue;
+
+               for (i = 0; i < sband->n_channels; i++) {
+                       if (sband->channels[i].center_freq == freq)
+                               return &sband->channels[i];
+               }
+       }
+
+       return NULL;
+}
+EXPORT_SYMBOL(__ieee80211_get_channel);
+
 static void set_mandatory_flags_band(struct ieee80211_supported_band *sband,
                                     enum ieee80211_band band)
 {
@@ -80,7 +103,7 @@ static void set_mandatory_flags_band(struct ieee80211_supported_band *sband,
                                sband->bitrates[i].flags |=
                                        IEEE80211_RATE_ERP_G;
                }
-               WARN_ON(want != 0 && want != 6);
+               WARN_ON(want != 0 && want != 3 && want != 6);
                break;
        case IEEE80211_NUM_BANDS:
                WARN_ON(1);