diff --git a/package/kernel/mac80211/patches/557-ath9k-disable-bands-via-dt.patch b/package/kernel/mac80211/patches/557-ath9k-disable-bands-via-dt.patch new file mode 100644 index 0000000000..ae447ce1f5 --- /dev/null +++ b/package/kernel/mac80211/patches/557-ath9k-disable-bands-via-dt.patch @@ -0,0 +1,32 @@ +--- a/Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt ++++ b/Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt +@@ -34,6 +34,14 @@ Optional properties: + ath9k wireless chip (in this case the calibration / + EEPROM data will be loaded from userspace using the + kernel firmware loader). ++- qca,disable-2ghz: Overrides the settings from the EEPROM and disables the ++ 2.4GHz band. Setting this property is only needed ++ when the RF circuit does not support the 2.4GHz band ++ while it is enabled nevertheless in the EEPROM. ++- qca,disable-5ghz: Overrides the settings from the EEPROM and disables the ++ 5GHz band. Setting this property is only needed when ++ the RF circuit does not support the 5GHz band while ++ it is enabled nevertheless in the EEPROM. + - mac-address: See ethernet.txt in the parent directory + - local-mac-address: See ethernet.txt in the parent directory + +--- a/drivers/net/wireless/ath/ath9k/init.c ++++ b/drivers/net/wireless/ath/ath9k/init.c +@@ -571,6 +571,12 @@ static int ath9k_of_init(struct ath_soft + + ath_dbg(common, CONFIG, "parsing configuration from OF node\n"); + ++ if (of_property_read_bool(np, "qca,disable-2ghz")) ++ ah->disable_2ghz = true; ++ ++ if (of_property_read_bool(np, "qca,disable-5ghz")) ++ ah->disable_5ghz = true; ++ + if (of_property_read_bool(np, "qca,no-eeprom")) { + /* ath9k-eeprom--.bin */ + scnprintf(eeprom_name, sizeof(eeprom_name),