---- a/drivers/net/wireless/ath9k/main.c
-+++ b/drivers/net/wireless/ath9k/main.c
-@@ -1031,6 +1031,9 @@ static void ath_unregister_led(struct at
+--- a/drivers/net/wireless/ath/ath9k/gpio.c
++++ b/drivers/net/wireless/ath/ath9k/gpio.c
+@@ -120,6 +120,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;
+
- cancel_delayed_work_sync(&sc->ath_led_blink_work);
ath_unregister_led(&sc->assoc_led);
sc->sc_flags &= ~SC_OP_LED_ASSOCIATED;
-@@ -1045,6 +1048,9 @@ static void ath_init_leds(struct ath_sof
+ ath_unregister_led(&sc->tx_led);
+@@ -133,6 +136,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, ATH_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