diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2009-11-25 20:35:58 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2009-11-25 20:35:58 +0000 |
commit | 5838c83c1f47731a5a238022f79ca72d19f732af (patch) | |
tree | f19eada868558a23554469df771ea3d326ea3bfe /package/mac80211/patches | |
parent | 726e2e447800a2ebc215499491ecfe42113cfaaf (diff) | |
download | upstream-5838c83c1f47731a5a238022f79ca72d19f732af.tar.gz upstream-5838c83c1f47731a5a238022f79ca72d19f732af.tar.bz2 upstream-5838c83c1f47731a5a238022f79ca72d19f732af.zip |
package/mac80211: disable 2GHz band for 5GHz only devices
SVN-Revision: 18537
Diffstat (limited to 'package/mac80211/patches')
-rw-r--r-- | package/mac80211/patches/550-ath9k-enable-2GHz-band-only-if-the-device-supports.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/package/mac80211/patches/550-ath9k-enable-2GHz-band-only-if-the-device-supports.patch b/package/mac80211/patches/550-ath9k-enable-2GHz-band-only-if-the-device-supports.patch new file mode 100644 index 0000000000..dca58ed1f6 --- /dev/null +++ b/package/mac80211/patches/550-ath9k-enable-2GHz-band-only-if-the-device-supports.patch @@ -0,0 +1,52 @@ +--- a/drivers/net/wireless/ath/ath9k/main.c ++++ b/drivers/net/wireless/ath/ath9k/main.c +@@ -1805,13 +1805,15 @@ static int ath_init_softc(u16 devid, str + + /* setup channels and rates */ + +- sc->sbands[IEEE80211_BAND_2GHZ].channels = ath9k_2ghz_chantable; +- sc->sbands[IEEE80211_BAND_2GHZ].band = IEEE80211_BAND_2GHZ; +- sc->sbands[IEEE80211_BAND_2GHZ].n_channels = +- ARRAY_SIZE(ath9k_2ghz_chantable); +- sc->sbands[IEEE80211_BAND_2GHZ].bitrates = ath9k_legacy_rates; +- sc->sbands[IEEE80211_BAND_2GHZ].n_bitrates = +- ARRAY_SIZE(ath9k_legacy_rates); ++ if (test_bit(ATH9K_MODE_11G, sc->sc_ah->caps.wireless_modes)) { ++ sc->sbands[IEEE80211_BAND_2GHZ].channels = ath9k_2ghz_chantable; ++ sc->sbands[IEEE80211_BAND_2GHZ].band = IEEE80211_BAND_2GHZ; ++ sc->sbands[IEEE80211_BAND_2GHZ].n_channels = ++ ARRAY_SIZE(ath9k_2ghz_chantable); ++ sc->sbands[IEEE80211_BAND_2GHZ].bitrates = ath9k_legacy_rates; ++ sc->sbands[IEEE80211_BAND_2GHZ].n_bitrates = ++ ARRAY_SIZE(ath9k_legacy_rates); ++ } + + if (test_bit(ATH9K_MODE_11A, sc->sc_ah->caps.wireless_modes)) { + sc->sbands[IEEE80211_BAND_5GHZ].channels = ath9k_5ghz_chantable; +@@ -1886,8 +1888,9 @@ void ath_set_hw_capab(struct ath_softc * + + hw->rate_control_algorithm = "ath9k_rate_control"; + +- hw->wiphy->bands[IEEE80211_BAND_2GHZ] = +- &sc->sbands[IEEE80211_BAND_2GHZ]; ++ if (test_bit(ATH9K_MODE_11G, sc->sc_ah->caps.wireless_modes)) ++ hw->wiphy->bands[IEEE80211_BAND_2GHZ] = ++ &sc->sbands[IEEE80211_BAND_2GHZ]; + if (test_bit(ATH9K_MODE_11A, sc->sc_ah->caps.wireless_modes)) + hw->wiphy->bands[IEEE80211_BAND_5GHZ] = + &sc->sbands[IEEE80211_BAND_5GHZ]; +@@ -1926,9 +1929,12 @@ int ath_init_device(u16 devid, struct at + reg = &common->regulatory; + + if (ah->caps.hw_caps & ATH9K_HW_CAP_HT) { +- setup_ht_cap(sc, &sc->sbands[IEEE80211_BAND_2GHZ].ht_cap); ++ if (test_bit(ATH9K_MODE_11G, ah->caps.wireless_modes)) ++ setup_ht_cap(sc, ++ &sc->sbands[IEEE80211_BAND_2GHZ].ht_cap); + if (test_bit(ATH9K_MODE_11A, ah->caps.wireless_modes)) +- setup_ht_cap(sc, &sc->sbands[IEEE80211_BAND_5GHZ].ht_cap); ++ setup_ht_cap(sc, ++ &sc->sbands[IEEE80211_BAND_5GHZ].ht_cap); + } + + /* initialize tx/rx engine */ |