--- a/drivers/net/wireless/ath/ath9k/init.c +++ b/drivers/net/wireless/ath/ath9k/init.c @@ -654,6 +654,12 @@ static int ath9k_of_init(struct ath_soft return 0; } +static void ath9k_of_gpio_mask(struct ath_softc *sc) +{ + of_property_read_u32(sc->dev->of_node, "qca,gpio-mask", + &sc->sc_ah->caps.gpio_mask); +} + static int ath9k_init_softc(u16 devid, struct ath_softc *sc, const struct ath_bus_ops *bus_ops) { @@ -758,6 +764,9 @@ static int ath9k_init_softc(u16 devid, s if (ret) goto err_hw; + /* GPIO mask quirk */ + ath9k_of_gpio_mask(sc); + ret = ath9k_init_queues(sc); if (ret) goto err_queues;