xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 for v4.6] etherboot: Build fix for GCC 5.1.1
@ 2015-08-24 19:48 Konrad Rzeszutek Wilk
  2015-08-25  8:15 ` Wei Liu
  0 siblings, 1 reply; 3+ messages in thread
From: Konrad Rzeszutek Wilk @ 2015-08-24 19:48 UTC (permalink / raw)
  To: ian.jackson, stefano.stabellini, ian.campbell, wei.liu2,
	xen-devel
  Cc: Konrad Rzeszutek Wilk

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.wilk@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 0000000..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 <mail@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 <mail@eworm.de>
+Signed-off-by: Michael Brown <mcb30@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)
+ 
+ 		ani->rssiThrHigh = ATH9K_ANI_RSSI_THR_HIGH;
+ 		ani->rssiThrLow = ATH9K_ANI_RSSI_THR_LOW;
+-		ani->ofdmWeakSigDetectOff =
+-			!ATH9K_ANI_USE_OFDM_WEAK_SIG;
++		ani->ofdmWeakSigDetect =
++			ATH9K_ANI_USE_OFDM_WEAK_SIG;
+ 		ani->cckNoiseImmunityLevel = ATH9K_ANI_CCK_DEF_LEVEL;
+ 	}
+ 
+diff --git a/src/drivers/net/ath/ath9k/ath9k_ar5008_phy.c b/src/drivers/net/ath/ath9k/ath9k_ar5008_phy.c
+index 60e87e9..2b6c133 100644
+--- a/src/drivers/net/ath/ath9k/ath9k_ar5008_phy.c
++++ b/src/drivers/net/ath/ath9k/ath9k_ar5008_phy.c
+@@ -1141,12 +1141,12 @@ static int ar5008_hw_ani_control_old(struct ath_hw *ah,
+ 			REG_CLR_BIT(ah, AR_PHY_SFCORR_LOW,
+ 				    AR_PHY_SFCORR_LOW_USE_SELF_CORR_LOW);
+ 
+-		if (!on != aniState->ofdmWeakSigDetectOff) {
++		if (on != aniState->ofdmWeakSigDetect) {
+ 			if (on)
+ 				ah->stats.ast_ani_ofdmon++;
+ 			else
+ 				ah->stats.ast_ani_ofdmoff++;
+-			aniState->ofdmWeakSigDetectOff = !on;
++			aniState->ofdmWeakSigDetect = on;
+ 		}
+ 		break;
+ 	}
+@@ -1215,10 +1215,10 @@ static int ar5008_hw_ani_control_old(struct ath_hw *ah,
+ 
+ 	DBG2("ath9k: ANI parameters:\n");
+ 	DBG2(
+-		"noiseImmunityLevel=%d, spurImmunityLevel=%d, ofdmWeakSigDetectOff=%d\n",
++		"noiseImmunityLevel=%d, spurImmunityLevel=%d, ofdmWeakSigDetect=%d\n",
+ 		aniState->noiseImmunityLevel,
+ 		aniState->spurImmunityLevel,
+-		!aniState->ofdmWeakSigDetectOff);
++		aniState->ofdmWeakSigDetect);
+ 	DBG2(
+ 		"cckWeakSigThreshold=%d, firstepLevel=%d, listenTime=%d\n",
+ 		aniState->cckWeakSigThreshold,
+@@ -1307,18 +1307,18 @@ static int ar5008_hw_ani_control_new(struct ath_hw *ah,
+ 			REG_CLR_BIT(ah, AR_PHY_SFCORR_LOW,
+ 				    AR_PHY_SFCORR_LOW_USE_SELF_CORR_LOW);
+ 
+-		if (!on != aniState->ofdmWeakSigDetectOff) {
++		if (on != aniState->ofdmWeakSigDetect) {
+ 			DBG2("ath9k: "
+ 				"** ch %d: ofdm weak signal: %s=>%s\n",
+ 				chan->channel,
+-				!aniState->ofdmWeakSigDetectOff ?
++				aniState->ofdmWeakSigDetect ?
+ 				"on" : "off",
+ 				on ? "on" : "off");
+ 			if (on)
+ 				ah->stats.ast_ani_ofdmon++;
+ 			else
+ 				ah->stats.ast_ani_ofdmoff++;
+-			aniState->ofdmWeakSigDetectOff = !on;
++			aniState->ofdmWeakSigDetect = on;
+ 		}
+ 		break;
+ 	}
+@@ -1467,7 +1467,7 @@ static int ar5008_hw_ani_control_new(struct ath_hw *ah,
+ 	DBG2("ath9k: "
+ 		"ANI parameters: SI=%d, ofdmWS=%s FS=%d MRCcck=%s listenTime=%d ofdmErrs=%d cckErrs=%d\n",
+ 		aniState->spurImmunityLevel,
+-		!aniState->ofdmWeakSigDetectOff ? "on" : "off",
++		aniState->ofdmWeakSigDetect ? "on" : "off",
+ 		aniState->firstepLevel,
+ 		!aniState->mrcCCKOff ? "on" : "off",
+ 		aniState->listenTime,
+@@ -1554,7 +1554,7 @@ static void ar5008_hw_ani_cache_ini_regs(struct ath_hw *ah)
+ 	/* these levels just got reset to defaults by the INI */
+ 	aniState->spurImmunityLevel = ATH9K_ANI_SPUR_IMMUNE_LVL_NEW;
+ 	aniState->firstepLevel = ATH9K_ANI_FIRSTEP_LVL_NEW;
+-	aniState->ofdmWeakSigDetectOff = !ATH9K_ANI_USE_OFDM_WEAK_SIG;
++	aniState->ofdmWeakSigDetect = ATH9K_ANI_USE_OFDM_WEAK_SIG;
+ 	aniState->mrcCCKOff = 1; /* not available on pre AR9003 */
+ }
+ 
+diff --git a/src/drivers/net/ath/ath9k/ath9k_ar9003_phy.c b/src/drivers/net/ath/ath9k/ath9k_ar9003_phy.c
+index 6103040..2244b77 100644
+--- a/src/drivers/net/ath/ath9k/ath9k_ar9003_phy.c
++++ b/src/drivers/net/ath/ath9k/ath9k_ar9003_phy.c
+@@ -859,18 +859,18 @@ static int ar9003_hw_ani_control(struct ath_hw *ah,
+ 			REG_CLR_BIT(ah, AR_PHY_SFCORR_LOW,
+ 				    AR_PHY_SFCORR_LOW_USE_SELF_CORR_LOW);
+ 
+-		if (!on != aniState->ofdmWeakSigDetectOff) {
++		if (on != aniState->ofdmWeakSigDetect) {
+ 			DBG2("ath9k: "
+ 				"** ch %d: ofdm weak signal: %s=>%s\n",
+ 				chan->channel,
+-				!aniState->ofdmWeakSigDetectOff ?
++				aniState->ofdmWeakSigDetect ?
+ 				"on" : "off",
+ 				on ? "on" : "off");
+ 			if (on)
+ 				ah->stats.ast_ani_ofdmon++;
+ 			else
+ 				ah->stats.ast_ani_ofdmoff++;
+-			aniState->ofdmWeakSigDetectOff = !on;
++			aniState->ofdmWeakSigDetect = on;
+ 		}
+ 		break;
+ 	}
+@@ -1013,7 +1013,7 @@ static int ar9003_hw_ani_control(struct ath_hw *ah,
+ 			      AR_PHY_MRC_CCK_ENABLE, is_on);
+ 		REG_RMW_FIELD(ah, AR_PHY_MRC_CCK_CTRL,
+ 			      AR_PHY_MRC_CCK_MUX_REG, is_on);
+-		if (!is_on != aniState->mrcCCKOff) {
++		if (!(is_on != aniState->mrcCCKOff)) {
+ 			DBG2("ath9k: "
+ 				"** ch %d: MRC CCK: %s=>%s\n",
+ 				chan->channel,
+@@ -1037,7 +1037,7 @@ static int ar9003_hw_ani_control(struct ath_hw *ah,
+ 	DBG2("ath9k: "
+ 		"ANI parameters: SI=%d, ofdmWS=%s FS=%d MRCcck=%s listenTime=%d ofdmErrs=%d cckErrs=%d\n",
+ 		aniState->spurImmunityLevel,
+-		!aniState->ofdmWeakSigDetectOff ? "on" : "off",
++		aniState->ofdmWeakSigDetect ? "on" : "off",
+ 		aniState->firstepLevel,
+ 		!aniState->mrcCCKOff ? "on" : "off",
+ 		aniState->listenTime,
+@@ -1137,7 +1137,7 @@ static void ar9003_hw_ani_cache_ini_regs(struct ath_hw *ah)
+ 	/* these levels just got reset to defaults by the INI */
+ 	aniState->spurImmunityLevel = ATH9K_ANI_SPUR_IMMUNE_LVL_NEW;
+ 	aniState->firstepLevel = ATH9K_ANI_FIRSTEP_LVL_NEW;
+-	aniState->ofdmWeakSigDetectOff = !ATH9K_ANI_USE_OFDM_WEAK_SIG;
++	aniState->ofdmWeakSigDetect = ATH9K_ANI_USE_OFDM_WEAK_SIG;
+ 	aniState->mrcCCKOff = !ATH9K_ANI_ENABLE_MRC_CCK;
+ }
+ 
+-- 
+2.4.3
+
diff --git a/tools/firmware/etherboot/patches/series b/tools/firmware/etherboot/patches/series
index 7512c14..2c39853 100644
--- a/tools/firmware/etherboot/patches/series
+++ b/tools/firmware/etherboot/patches/series
@@ -3,3 +3,4 @@ build_fix_1.patch
 build_fix_2.patch
 build_fix_3.patch
 build-compare.patch
+build_fix_4.patch
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v1 for v4.6] etherboot: Build fix for GCC 5.1.1
  2015-08-24 19:48 [PATCH v1 for v4.6] etherboot: Build fix for GCC 5.1.1 Konrad Rzeszutek Wilk
@ 2015-08-25  8:15 ` Wei Liu
  2015-08-25 15:57   ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 3+ messages in thread
From: Wei Liu @ 2015-08-25  8:15 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk
  Cc: wei.liu2, xen-devel, ian.jackson, ian.campbell,
	stefano.stabellini

On Mon, Aug 24, 2015 at 03:48:58PM -0400, Konrad Rzeszutek Wilk wrote:
> 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.wilk@oracle.com>

Acked-by: Wei Liu <wei.liu2@citrix.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v1 for v4.6] etherboot: Build fix for GCC 5.1.1
  2015-08-25  8:15 ` Wei Liu
@ 2015-08-25 15:57   ` Konrad Rzeszutek Wilk
  0 siblings, 0 replies; 3+ messages in thread
From: Konrad Rzeszutek Wilk @ 2015-08-25 15:57 UTC (permalink / raw)
  To: Wei Liu; +Cc: xen-devel, ian.jackson, ian.campbell, stefano.stabellini

On Tue, Aug 25, 2015 at 09:15:19AM +0100, Wei Liu wrote:
> On Mon, Aug 24, 2015 at 03:48:58PM -0400, Konrad Rzeszutek Wilk wrote:
> > 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.wilk@oracle.com>
> 
> Acked-by: Wei Liu <wei.liu2@citrix.com>

Applied. Thanks

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-08-25 15:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-24 19:48 [PATCH v1 for v4.6] etherboot: Build fix for GCC 5.1.1 Konrad Rzeszutek Wilk
2015-08-25  8:15 ` Wei Liu
2015-08-25 15:57   ` Konrad Rzeszutek Wilk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).