diff --git a/package/kernel/mac80211/patches/548-ath9k_enable_gpio_chip.patch b/package/kernel/mac80211/patches/548-ath9k_enable_gpio_chip.patch
index 10047a7cfda8e0c1b8be231730f822d0e6a27081..86917eb6eeb18c9fb56d1cb7ec565ad1aef5c277 100644
--- a/package/kernel/mac80211/patches/548-ath9k_enable_gpio_chip.patch
+++ b/package/kernel/mac80211/patches/548-ath9k_enable_gpio_chip.patch
@@ -221,21 +221,23 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	char led_name[32];
  	const char *trigger;
  	int i;
-@@ -156,6 +291,13 @@ void ath_init_leds(struct ath_softc *sc)
+@@ -156,6 +291,15 @@ void ath_init_leds(struct ath_softc *sc)
  	if (AR_SREV_9100(sc->sc_ah))
  		return;
  
 +	if (!np)
 +		ath9k_register_gpio_chip(sc);
 +
-+	/* setup gpio controller only if requested */
-+	if (of_property_read_bool(np, "gpio-controller"))
++	/* setup gpio controller only if requested and skip the led_pin setup */
++	if (of_property_read_bool(np, "gpio-controller")) {
 +		ath9k_register_gpio_chip(sc);
++		return;
++	}
 +
  	ath_fill_led_pin(sc);
  
  	if (pdata && pdata->leds && pdata->num_leds)
-@@ -183,6 +325,7 @@ void ath_init_leds(struct ath_softc *sc)
+@@ -183,6 +327,7 @@ void ath_init_leds(struct ath_softc *sc)
  	ath_create_gpio_led(sc, sc->sc_ah->led_pin, led_name, trigger,
  			   !sc->sc_ah->config.led_active_high);
  }
diff --git a/package/kernel/mac80211/patches/549-ath9k_enable_gpio_buttons.patch b/package/kernel/mac80211/patches/549-ath9k_enable_gpio_buttons.patch
index 1d1efe5384af3d867faa4f2132d4fdc14a0f0ed0..4e165dde99938d3436b6497b8c2b08491c74f601 100644
--- a/package/kernel/mac80211/patches/549-ath9k_enable_gpio_buttons.patch
+++ b/package/kernel/mac80211/patches/549-ath9k_enable_gpio_buttons.patch
@@ -117,8 +117,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	while (!list_empty(&sc->leds)) {
  		led = list_first_entry(&sc->leds, struct ath_led, list);
  #ifdef CONFIG_GPIOLIB
-@@ -299,6 +368,7 @@ void ath_init_leds(struct ath_softc *sc)
- 		ath9k_register_gpio_chip(sc);
+@@ -301,6 +370,7 @@ void ath_init_leds(struct ath_softc *sc)
+ 	}
  
  	ath_fill_led_pin(sc);
 +	ath9k_init_buttons(sc);