I discovered another bug in the ath9k WNDR3700 quirk fix from r23822.
ath9k_hw_apply_gpio_override was testing the original value of gpio_mask
to determine which bits were appropriate, instead of testing the shifted
value. Because bit 0 is always clear in the original value, this
resulted in no calls to set the GPIOs, an improperly-configured radio,
and reduced RSSI on other systems listening to the radio.
Signed-off-by: Mark Mentovai <mark@moxienet.com>
SVN-Revision: 23890
+ int i;
+
+ for (i = 0; gpio_mask; i++, gpio_mask >>= 1) {
-+ if (!(ah->gpio_mask & 1))
++ if (!(gpio_mask & 1))
+ continue;
+
+ ath9k_hw_cfg_output(ah, i, AR_GPIO_OUTPUT_MUX_AS_OUTPUT);