mac80211: rt2x00: backport accepted and pending patches from upstream
[openwrt/openwrt.git] / package / kernel / mac80211 / patches / rt2x00 / 508-rt2x00-rt2800soc-fix-rt2800soc_disable_radio-for-RT3.patch
diff --git a/package/kernel/mac80211/patches/rt2x00/508-rt2x00-rt2800soc-fix-rt2800soc_disable_radio-for-RT3.patch b/package/kernel/mac80211/patches/rt2x00/508-rt2x00-rt2800soc-fix-rt2800soc_disable_radio-for-RT3.patch
new file mode 100644 (file)
index 0000000..d68ad50
--- /dev/null
@@ -0,0 +1,30 @@
+From 6c2d32478159fffff0b85abb6817a21bb2338231 Mon Sep 17 00:00:00 2001
+From: Gabor Juhos <juhosg@openwrt.org>
+Date: Sun, 24 Mar 2013 19:26:27 +0100
+Subject: [PATCH] rt2x00: rt2800soc: fix rt2800soc_disable_radio for RT3883
+
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ drivers/net/wireless/ralink/rt2x00/rt2800soc.c |    9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/ralink/rt2x00/rt2800soc.c
++++ b/drivers/net/wireless/ralink/rt2x00/rt2800soc.c
+@@ -51,9 +51,16 @@ static bool rt2800soc_hwcrypt_disabled(s
+ static void rt2800soc_disable_radio(struct rt2x00_dev *rt2x00dev)
+ {
++      u32 reg;
++
+       rt2800_disable_radio(rt2x00dev);
+       rt2x00mmio_register_write(rt2x00dev, PWR_PIN_CFG, 0);
+-      rt2x00mmio_register_write(rt2x00dev, TX_PIN_CFG, 0);
++
++      reg = 0;
++      if (rt2x00_rt(rt2x00dev, RT3883))
++              rt2x00_set_field32(&reg, TX_PIN_CFG_RFTR_EN, 1);
++
++      rt2x00mmio_register_write(rt2x00dev, TX_PIN_CFG, reg);
+ }
+ static int rt2800soc_set_device_state(struct rt2x00_dev *rt2x00dev,