ath9k: fix ath9k_hw_gpio_get() to return 0 or 1 on success
authorMatthias Schiffer <mschiffer@universe-factory.net>
Tue, 15 Nov 2016 17:47:21 +0000 (18:47 +0100)
committerKalle Valo <kvalo@qca.qualcomm.com>
Wed, 23 Nov 2016 13:58:21 +0000 (15:58 +0200)
Commit b2d70d4944c1 ("ath9k: make GPIO API to support both of WMAC and
SOC") refactored ath9k_hw_gpio_get() to support both WMAC and SOC GPIOs,
changing the return on success from 1 to BIT(gpio). This broke some callers
like ath_is_rfkill_set(). This doesn't fix any known bug in mainline at the
moment, but should be fixed anyway.

Instead of fixing all callers, change ath9k_hw_gpio_get() back to only
return 0 or 1.

Fixes: b2d70d4944c1 ("ath9k: make GPIO API to support both of WMAC and SOC")
Cc: <stable@vger.kernel.org> # v4.7+
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
[kvalo@qca.qualcomm.com: mention that doesn't fix any known bug]
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath9k/hw.c

index 14b13f0..a35f78b 100644 (file)
@@ -2792,7 +2792,7 @@ u32 ath9k_hw_gpio_get(struct ath_hw *ah, u32 gpio)
                WARN_ON(1);
        }
 
-       return val;
+       return !!val;
 }
 EXPORT_SYMBOL(ath9k_hw_gpio_get);