From 875bd87bbd1de44979d1d1a4605a5713d7d07118 Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Mon, 25 Apr 2016 18:02:53 +0200 Subject: [PATCH] backports: ath9k fix ht40 init. Signed-off-by: Arne Fitzenreiter --- .../core/101/filelists/armv5tel/ath9k-module | 3 + .../core/101/filelists/i586/ath9k-module | 3 + .../core/101/filelists/x86_64/ath9k-module | 2 + lfs/backports | 1 + ...-4.2.6-1-ath9k_add_missing_mask_init.patch | 56 +++++++++++++++++++ 5 files changed, 65 insertions(+) create mode 100644 config/rootfiles/core/101/filelists/armv5tel/ath9k-module create mode 100644 config/rootfiles/core/101/filelists/i586/ath9k-module create mode 100644 config/rootfiles/core/101/filelists/x86_64/ath9k-module create mode 100644 src/patches/backports-4.2.6-1-ath9k_add_missing_mask_init.patch diff --git a/config/rootfiles/core/101/filelists/armv5tel/ath9k-module b/config/rootfiles/core/101/filelists/armv5tel/ath9k-module new file mode 100644 index 0000000000..92f518ec55 --- /dev/null +++ b/config/rootfiles/core/101/filelists/armv5tel/ath9k-module @@ -0,0 +1,3 @@ +lib/modules/KVER-ipfire-multi/kernel/drivers/net/wireless/ath/ath9k +lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ath/ath9k + diff --git a/config/rootfiles/core/101/filelists/i586/ath9k-module b/config/rootfiles/core/101/filelists/i586/ath9k-module new file mode 100644 index 0000000000..2490e61499 --- /dev/null +++ b/config/rootfiles/core/101/filelists/i586/ath9k-module @@ -0,0 +1,3 @@ +lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/ath9k +lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ath/ath9k + diff --git a/config/rootfiles/core/101/filelists/x86_64/ath9k-module b/config/rootfiles/core/101/filelists/x86_64/ath9k-module new file mode 100644 index 0000000000..25361cebe7 --- /dev/null +++ b/config/rootfiles/core/101/filelists/x86_64/ath9k-module @@ -0,0 +1,2 @@ +lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/ath9k + diff --git a/lfs/backports b/lfs/backports index 12bd83ff5a..3c8e6cdfd9 100644 --- a/lfs/backports +++ b/lfs/backports @@ -102,6 +102,7 @@ endif cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/backports-4.2.6-1-mt7601_upstream_fixes.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/backports-3.18.1-1_add_libertas_uap.patch cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/backports-4.2.6-1_ath10k_remove_logspam.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/backports-4.2.6-1-ath9k_add_missing_mask_init.patch # smsc mac address patch for pandaboard and raspberry pi ifeq "$(KCFG)" "-multi" diff --git a/src/patches/backports-4.2.6-1-ath9k_add_missing_mask_init.patch b/src/patches/backports-4.2.6-1-ath9k_add_missing_mask_init.patch new file mode 100644 index 0000000000..01aee6d928 --- /dev/null +++ b/src/patches/backports-4.2.6-1-ath9k_add_missing_mask_init.patch @@ -0,0 +1,56 @@ +by moving common code to ar5008_hw_cmn_spur_mitigate i forgot to move +mask_m & mask_p initialisation. This coused a performance regression +on ar9281. + + +Fixes: f911085ffa88 ("ath9k: split ar5008_hw_spur_mitigate and reuse common +code in ar9002_hw_spur_mitigate.") +Reported-by: Gustav Frederiksen +Tested-by: Gustav Frederiksen +Signed-off-by: Oleksij Rempel +diff -Naur backports-4.2.6-1.org/drivers/net/wireless/ath/ath9k/ar5008_phy.c backports-4.2.6-1/drivers/net/wireless/ath/ath9k/ar5008_phy.c +--- backports-4.2.6-1.org/drivers/net/wireless/ath/ath9k/ar5008_phy.c 2015-11-15 22:19:39.000000000 +0100 ++++ backports-4.2.6-1/drivers/net/wireless/ath/ath9k/ar5008_phy.c 2016-04-25 09:37:58.765112541 +0200 +@@ -274,6 +274,9 @@ + }; + static const int inc[4] = { 0, 100, 0, 0 }; + ++ memset(&mask_m, 0, sizeof(int8_t) * 123); ++ memset(&mask_p, 0, sizeof(int8_t) * 123); ++ + cur_bin = -6000; + upper = bin + 100; + lower = bin - 100; +@@ -424,14 +427,9 @@ + int tmp, new; + int i; + +- int8_t mask_m[123]; +- int8_t mask_p[123]; + int cur_bb_spur; + bool is2GHz = IS_CHAN_2GHZ(chan); + +- memset(&mask_m, 0, sizeof(int8_t) * 123); +- memset(&mask_p, 0, sizeof(int8_t) * 123); +- + for (i = 0; i < AR_EEPROM_MODAL_SPURS; i++) { + cur_bb_spur = ah->eep_ops->get_spur_channel(ah, i, is2GHz); + if (AR_NO_SPUR == cur_bb_spur) +diff -Naur backports-4.2.6-1.org/drivers/net/wireless/ath/ath9k/ar9002_phy.c backports-4.2.6-1/drivers/net/wireless/ath/ath9k/ar9002_phy.c +--- backports-4.2.6-1.org/drivers/net/wireless/ath/ath9k/ar9002_phy.c 2015-11-15 22:19:39.000000000 +0100 ++++ backports-4.2.6-1/drivers/net/wireless/ath/ath9k/ar9002_phy.c 2016-04-25 09:38:57.729109148 +0200 +@@ -178,14 +178,9 @@ + int i; + struct chan_centers centers; + +- int8_t mask_m[123]; +- int8_t mask_p[123]; + int cur_bb_spur; + bool is2GHz = IS_CHAN_2GHZ(chan); + +- memset(&mask_m, 0, sizeof(int8_t) * 123); +- memset(&mask_p, 0, sizeof(int8_t) * 123); +- + ath9k_hw_get_channel_centers(ah, chan, ¢ers); + freq = centers.synth_center; + -- 2.39.5