---- a/drivers/net/wireless/ath/ath9k/main.c
-+++ b/drivers/net/wireless/ath/ath9k/main.c
-@@ -1135,6 +1135,9 @@ static void ath_unregister_led(struct at
+--- a/drivers/net/wireless/ath/ath9k/gpio.c
++++ b/drivers/net/wireless/ath/ath9k/gpio.c
+@@ -128,6 +128,9 @@ static void ath_unregister_led(struct at
- static void ath_deinit_leds(struct ath_softc *sc)
+ void ath_deinit_leds(struct ath_softc *sc)
{
+ if (AR_SREV_9100(sc->sc_ah))
+ return;
ath_unregister_led(&sc->assoc_led);
sc->sc_flags &= ~SC_OP_LED_ASSOCIATED;
ath_unregister_led(&sc->tx_led);
-@@ -1153,6 +1156,9 @@ static void ath_init_leds(struct ath_sof
- else
- sc->sc_ah->led_pin = ATH_LED_PIN_DEF;
+@@ -141,6 +144,9 @@ void ath_init_leds(struct ath_softc *sc)
+ char *trigger;
+ int ret;
+ if (AR_SREV_9100(sc->sc_ah))
+ return;
+
- /* Configure gpio 1 for output */
- ath9k_hw_cfg_output(sc->sc_ah, sc->sc_ah->led_pin,
- AR_GPIO_OUTPUT_MUX_AS_OUTPUT);
+ if (AR_SREV_9287(sc->sc_ah))
+ sc->sc_ah->led_pin = ATH_LED_PIN_9287;
+ else