ath9k: fix ath9k_hw_apply_gpio_override so that it's effective
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 5 Nov 2010 18:05:50 +0000 (18:05 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 5 Nov 2010 18:05:50 +0000 (18:05 +0000)
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23890 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mac80211/patches/310-ath9k_gpio_settings.patch

index 67111cc..f3c8db3 100644 (file)
@@ -36,7 +36,7 @@
 +      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);