ar71xx: work around a PCI controller bug which causes reads to the PCI_COMMAND regist...
[openwrt.git] / package / mac80211 / patches / 409-ath9k_platform_settings.patch
index 3355d955a031437d2d9fc68112b624af4691c1b9..7f09b05fb8357eb8fa2191e01543adf935c36a1a 100644 (file)
@@ -1,22 +1,15 @@
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -16,6 +16,7 @@
- #include <linux/slab.h>
-+#include "linux/ath9k_platform.h"
- #include "ath9k.h"
- static char *dev_info = "ath9k";
-@@ -572,8 +573,14 @@ static int ath9k_init_softc(u16 devid, s
+@@ -536,8 +536,15 @@ static int ath9k_init_softc(u16 devid, s
+       ah->hw_version.subsysid = subsysid;
        sc->sc_ah = ah;
  
-       pdata = (struct ath9k_platform_data *) sc->dev->platform_data;
--      if (!pdata)
-+      if (!pdata) {
+-      if (!sc->dev->platform_data)
++      if (!sc->dev->platform_data) {
                ah->ah_flags |= AH_USE_EEPROM;
 +              sc->sc_ah->led_pin = -1;
 +      } else {
++              pdata = (struct ath9k_platform_data *) sc->dev->platform_data;
 +              sc->sc_ah->gpio_mask = pdata->gpio_mask;
 +              sc->sc_ah->gpio_val = pdata->gpio_val;
 +              sc->sc_ah->led_pin = pdata->led_pin;
@@ -26,7 +19,7 @@
        common->ops = &ath9k_common_ops;
 --- a/drivers/net/wireless/ath/ath9k/hw.h
 +++ b/drivers/net/wireless/ath/ath9k/hw.h
-@@ -742,7 +742,7 @@ struct ath_hw {
+@@ -782,7 +782,7 @@ struct ath_hw {
        u32 originalGain[22];
        int initPDADC;
        int PDADCdelta;
@@ -37,7 +30,7 @@
  
 --- a/drivers/net/wireless/ath/ath9k/gpio.c
 +++ b/drivers/net/wireless/ath/ath9k/gpio.c
-@@ -147,10 +147,12 @@ void ath_init_leds(struct ath_softc *sc)
+@@ -139,10 +139,12 @@ void ath_init_leds(struct ath_softc *sc)
        if (AR_SREV_9100(sc->sc_ah))
                return;