]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - net/wireless/util.c
Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak...
[mv-sheeva.git] / net / wireless / util.c
index 0dcccbf3eb57f22314e8a642d8a90a7309222107..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)
 {
@@ -73,14 +96,14 @@ static void set_mandatory_flags_band(struct ieee80211_supported_band *sband,
                                want--;
                        }
 
-                       if (sband->bitrates[i].bitrate == 10 ||
-                           sband->bitrates[i].bitrate == 20 ||
-                           sband->bitrates[i].bitrate == 55 ||
-                           sband->bitrates[i].bitrate == 110)
+                       if (sband->bitrates[i].bitrate != 10 &&
+                           sband->bitrates[i].bitrate != 20 &&
+                           sband->bitrates[i].bitrate != 55 &&
+                           sband->bitrates[i].bitrate != 110)
                                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);