Browse Source

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

Fixes the Ubiquiti UAP Outdoor+ HSR.
Matthias Schiffer 7 years ago
parent
commit
0e85726a0a

+ 43 - 0
patches/openwrt/0079-ath9k-fix-ath9k_hw_gpio_get-to-return-0-or-1-on-success.patch

@@ -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);
++