File xen.6596412d59bcde3d1a2473f341851f4c476fc9df.patch of Package xen

From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Mon, 24 Aug 2015 15:48:58 -0400
Subject: 6596412d59bcde3d1a2473f341851f4c476fc9df

etherboot: Build fix for GCC 5.1.1

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>
---
 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

new file mode 100644
--- /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
+
--- a/tools/firmware/etherboot/patches/series
+++ b/tools/firmware/etherboot/patches/series
@@ -1,5 +1,6 @@
 boot_prompt_option.patch
 build_fix_1.patch
 build_fix_2.patch
 build_fix_3.patch
 build-compare.patch
+build_fix_4.patch
openSUSE Build Service is sponsored by