Quellcode durchsuchen

ath9k: work around gcc ICEs

This patch works around an internal compiler error (gcc bug #37014) in
all gcc 4.2 compilers and the gcc 4.3 series up to at least 4.3.1
on at least powerpc and mips.

Many thanks to Andrew Pinski for analyzing the gcc bug.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Adrian Bunk vor 17 Jahren
Ursprung
Commit
b08cbcd454
1 geänderte Dateien mit 5 neuen und 1 gelöschten Zeilen
  1. 5 1
      drivers/net/wireless/ath9k/hw.c

+ 5 - 1
drivers/net/wireless/ath9k/hw.c

@@ -4801,7 +4801,11 @@ static void ath9k_hw_9280_spur_mitigate(struct ath_hal *ah,
 
 
 	for (i = 0; i < 123; i++) {
 	for (i = 0; i < 123; i++) {
 		if ((cur_vit_mask > lower) && (cur_vit_mask < upper)) {
 		if ((cur_vit_mask > lower) && (cur_vit_mask < upper)) {
-			if ((abs(cur_vit_mask - bin)) < 75)
+
+			/* workaround for gcc bug #37014 */
+			volatile int tmp = abs(cur_vit_mask - bin);
+
+			if (tmp < 75)
 				mask_amt = 1;
 				mask_amt = 1;
 			else
 			else
 				mask_amt = 0;
 				mask_amt = 0;