Specificially we are pulling in the upstream patch (commit
1b56452121672e6408c38ac8926bdd6998a39004)):
[ath9k] Remove confusing logic inversion in an ANI variable
Signed-off-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com
---
tools/firmware/etherboot/patches/build_fix_4.patch | 225 +
tools/firmware/etherboot/patches/series| 1 +
2 files changed, 226 insertions(+)
create mode 100644 tools/firmware/etherboot/patches/build_fix_4.patch
diff --git a/tools/firmware/etherboot/patches/build_fix_4.patch
b/tools/firmware/etherboot/patches/build_fix_4.patch
new file mode 100644
index 000..9271c8c
--- /dev/null
+++ b/tools/firmware/etherboot/patches/build_fix_4.patch
@@ -0,0 +1,225 @@
+From 1b56452121672e6408c38ac8926bdd6998a39004 Mon Sep 17 00:00:00 2001
+From: Christian Hesse m...@eworm.de
+Date: Thu, 23 Apr 2015 13:33:26 +0200
+Subject: [PATCH] [ath9k] Remove confusing logic inversion in an ANI variable
+
+This changed in Linux kernel the same way in commit 7067e701
+(ath9k_hw: remove confusing logic inversion in an ANI variable) by
+Felix Fietkau.
+
+Additionally this fixes error: logical not is only applied to the
+left hand side of comparison with GCC 5.1.0.
+
+Signed-off-by: Christian Hesse m...@eworm.de
+Signed-off-by: Michael Brown mc...@ipxe.org
+---
+ src/drivers/net/ath/ath9k/ani.h | 2 +-
+ src/drivers/net/ath/ath9k/ath9k_ani.c| 16
+ src/drivers/net/ath/ath9k/ath9k_ar5008_phy.c | 18 +-
+ src/drivers/net/ath/ath9k/ath9k_ar9003_phy.c | 12 ++--
+ 4 files changed, 24 insertions(+), 24 deletions(-)
+
+diff --git a/src/drivers/net/ath/ath9k/ani.h b/src/drivers/net/ath/ath9k/ani.h
+index dbd4d4d..ba87ba0 100644
+--- a/src/drivers/net/ath/ath9k/ani.h
b/src/drivers/net/ath/ath9k/ani.h
+@@ -125,7 +125,7 @@ struct ar5416AniState {
+ u8 mrcCCKOff;
+ u8 spurImmunityLevel;
+ u8 firstepLevel;
+- u8 ofdmWeakSigDetectOff;
++ u8 ofdmWeakSigDetect;
+ u8 cckWeakSigThreshold;
+ u32 listenTime;
+ int32_t rssiThrLow;
+diff --git a/src/drivers/net/ath/ath9k/ath9k_ani.c
b/src/drivers/net/ath/ath9k/ath9k_ani.c
+index ff7df49..76ca79c 100644
+--- a/src/drivers/net/ath/ath9k/ath9k_ani.c
b/src/drivers/net/ath/ath9k/ath9k_ani.c
+@@ -177,7 +177,7 @@ static void ath9k_hw_ani_ofdm_err_trigger_old(struct
ath_hw *ah)
+
+ rssi = BEACON_RSSI(ah);
+ if (rssi aniState-rssiThrHigh) {
+- if (!aniState-ofdmWeakSigDetectOff) {
++ if (aniState-ofdmWeakSigDetect) {
+ if (ath9k_hw_ani_control(ah,
+ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
+0)) {
+@@ -192,7 +192,7 @@ static void ath9k_hw_ani_ofdm_err_trigger_old(struct
ath_hw *ah)
+ return;
+ }
+ } else if (rssi aniState-rssiThrLow) {
+- if (aniState-ofdmWeakSigDetectOff)
++ if (!aniState-ofdmWeakSigDetect)
+ ath9k_hw_ani_control(ah,
+ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
+1);
+@@ -202,7 +202,7 @@ static void ath9k_hw_ani_ofdm_err_trigger_old(struct
ath_hw *ah)
+ return;
+ } else {
+ if ((ah-dev-channels + ah-dev-channel)-band ==
NET80211_BAND_2GHZ) {
+- if (!aniState-ofdmWeakSigDetectOff)
++ if (aniState-ofdmWeakSigDetect)
+ ath9k_hw_ani_control(ah,
+ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
+0);
+@@ -360,7 +360,7 @@ static void ath9k_hw_ani_lower_immunity_old(struct ath_hw
*ah)
+ if (rssi aniState-rssiThrHigh) {
+ /* XXX: Handle me */
+ } else if (rssi aniState-rssiThrLow) {
+- if (aniState-ofdmWeakSigDetectOff) {
++ if (!aniState-ofdmWeakSigDetect) {
+ if (ath9k_hw_ani_control(ah,
+ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
+1) == 1)
+@@ -436,9 +436,9 @@ static void ath9k_ani_reset_old(struct ath_hw *ah)
+ if (aniState-spurImmunityLevel != 0)
+ ath9k_hw_ani_control(ah, ATH9K_ANI_SPUR_IMMUNITY_LEVEL,
+aniState-spurImmunityLevel);
+- if (aniState-ofdmWeakSigDetectOff)
++ if (!aniState-ofdmWeakSigDetect)
+ ath9k_hw_ani_control(ah, ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
+- !aniState-ofdmWeakSigDetectOff);
++ aniState-ofdmWeakSigDetect);
+ if (aniState-cckWeakSigThreshold)
+ ath9k_hw_ani_control(ah, ATH9K_ANI_CCK_WEAK_SIGNAL_THR,
+aniState-cckWeakSigThreshold);
+@@ -709,8 +709,8 @@ void ath9k_hw_ani_init(struct ath_hw *ah)
+
+