---- a/drivers/net/wireless/ath/ath9k/main.c
-+++ b/drivers/net/wireless/ath/ath9k/main.c
-@@ -1041,6 +1041,9 @@ static void ath_unregister_led(struct at
-
- static void ath_deinit_leds(struct ath_softc *sc)
+--- a/drivers/net/wireless/ath/ath9k/gpio.c
++++ b/drivers/net/wireless/ath/ath9k/gpio.c
+@@ -41,6 +41,9 @@ void ath_init_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;
-@@ -1055,6 +1058,9 @@ static void ath_init_leds(struct ath_sof
- 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 (sc->sc_ah->led_pin < 0) {
+ if (AR_SREV_9287(sc->sc_ah))
+ sc->sc_ah->led_pin = ATH_LED_PIN_9287;