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>

authored by Adrian Bunk and committed by John W. Linville b08cbcd4 f078f209

+5 -1
+5 -1
drivers/net/wireless/ath9k/hw.c
··· 4801 4802 for (i = 0; i < 123; i++) { 4803 if ((cur_vit_mask > lower) && (cur_vit_mask < upper)) { 4804 - if ((abs(cur_vit_mask - bin)) < 75) 4805 mask_amt = 1; 4806 else 4807 mask_amt = 0;
··· 4801 4802 for (i = 0; i < 123; i++) { 4803 if ((cur_vit_mask > lower) && (cur_vit_mask < upper)) { 4804 + 4805 + /* workaround for gcc bug #37014 */ 4806 + volatile int tmp = abs(cur_vit_mask - bin); 4807 + 4808 + if (tmp < 75) 4809 mask_amt = 1; 4810 else 4811 mask_amt = 0;