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 4801 4802 4802 for (i = 0; i < 123; i++) { 4803 4803 if ((cur_vit_mask > lower) && (cur_vit_mask < upper)) { 4804 - if ((abs(cur_vit_mask - bin)) < 75) 4804 + 4805 + /* workaround for gcc bug #37014 */ 4806 + volatile int tmp = abs(cur_vit_mask - bin); 4807 + 4808 + if (tmp < 75) 4805 4809 mask_amt = 1; 4806 4810 else 4807 4811 mask_amt = 0;