ath9k: fix ath9k_hw_gpio_get() to return 0 or 1 on success

Fixes the Ubiquiti UAP Outdoor+ HSR.
This commit is contained in:
Matthias Schiffer 2016-11-15 19:28:55 +01:00
parent de2551d435
commit 0e85726a0a
No known key found for this signature in database
GPG Key ID: 16EF3F64CB201D9C

View File

@ -0,0 +1,43 @@
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Tue, 15 Nov 2016 19:26:52 +0100
Subject: ath9k: fix ath9k_hw_gpio_get() to return 0 or 1 on success
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Backport of LEDE a250556d27556ec94a8d800fd27be40c2de8139c
diff --git a/package/kernel/mac80211/patches/331-ath9k-fix-ath9k_hw_gpio_get-to-return-0-or-1-on-succ.patch b/package/kernel/mac80211/patches/331-ath9k-fix-ath9k_hw_gpio_get-to-return-0-or-1-on-succ.patch
new file mode 100644
index 0000000..627b401
--- /dev/null
+++ b/package/kernel/mac80211/patches/331-ath9k-fix-ath9k_hw_gpio_get-to-return-0-or-1-on-succ.patch
@@ -0,0 +1,29 @@
+From: Matthias Schiffer <mschiffer@universe-factory.net>
+Date: Tue, 15 Nov 2016 16:08:29 +0100
+Subject: [PATCH] ath9k: fix ath9k_hw_gpio_get() to return 0 or 1 on success
+
+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().
+
+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")
+Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
+---
+ drivers/net/wireless/ath/ath9k/hw.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/ath/ath9k/hw.c
++++ b/drivers/net/wireless/ath/ath9k/hw.c
+@@ -2816,7 +2816,7 @@ u32 ath9k_hw_gpio_get(struct ath_hw *ah,
+ WARN_ON(1);
+ }
+
+- return val;
++ return !!val;
+ }
+ EXPORT_SYMBOL(ath9k_hw_gpio_get);
+