summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/602-rt2x00-remove-mcu-requests-for-soc.patch
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-04-01 15:39:23 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-04-01 15:39:23 +0000
commit9e05e4b52ac9dafa60d40c4af9ff2043bfa07ca8 (patch)
tree928b0fadf89ddcb8e0bb47f9bde0e185e1a4d4ff /package/mac80211/patches/602-rt2x00-remove-mcu-requests-for-soc.patch
parenta9e78431f4bfa9ee3767f6eb75e8b069f7487a11 (diff)
mac80211: remove MCU requests for SoC platforms in the rt2x00 driver
The ralink SoC platforms do not have an MCU. Signed-off-by: Luis Correia <luis.f.correia@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20650 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/602-rt2x00-remove-mcu-requests-for-soc.patch')
-rw-r--r--package/mac80211/patches/602-rt2x00-remove-mcu-requests-for-soc.patch59
1 files changed, 59 insertions, 0 deletions
diff --git a/package/mac80211/patches/602-rt2x00-remove-mcu-requests-for-soc.patch b/package/mac80211/patches/602-rt2x00-remove-mcu-requests-for-soc.patch
new file mode 100644
index 000000000..9cecf3a03
--- /dev/null
+++ b/package/mac80211/patches/602-rt2x00-remove-mcu-requests-for-soc.patch
@@ -0,0 +1,59 @@
+The ralink SoC platforms do not have an MCU.
+
+Signed-off-by: Luis Correia <luis.f.correia@gmail.com>
+---
+
+--- a/drivers/net/wireless/rt2x00/rt2800lib.c
++++ b/drivers/net/wireless/rt2x00/rt2800lib.c
+@@ -221,9 +221,9 @@ void rt2800_mcu_request(struct rt2x00_de
+ u32 reg;
+
+ /*
+- * SOC devices don't support MCU requests.
++ * some devices don't support MCU requests.
+ */
+- if (rt2x00_is_soc(rt2x00dev))
++ if (!test_bit(DRIVER_REQUIRE_MCU, &rt2x00dev->flags))
+ return;
+
+ mutex_lock(&rt2x00dev->csr_mutex);
+--- a/drivers/net/wireless/rt2x00/rt2800pci.c
++++ b/drivers/net/wireless/rt2x00/rt2800pci.c
+@@ -60,6 +60,12 @@ static void rt2800pci_mcu_status(struct
+ unsigned int i;
+ u32 reg;
+
++ /*
++ * some devices don't support MCU requests.
++ */
++ if (!test_bit(DRIVER_REQUIRE_MCU, &rt2x00dev->flags))
++ return;
++
+ for (i = 0; i < 200; i++) {
+ rt2800_register_read(rt2x00dev, H2M_MAILBOX_CID, &reg);
+
+@@ -1098,10 +1104,12 @@ static int rt2800pci_probe_hw(struct rt2
+ __set_bit(DRIVER_SUPPORT_CONTROL_FILTER_PSPOLL, &rt2x00dev->flags);
+
+ /*
+- * This device requires firmware.
++ * This device requires firmware and MCU access.
+ */
+- if (!rt2x00_is_soc(rt2x00dev))
++ if (!rt2x00_is_soc(rt2x00dev)){
+ __set_bit(DRIVER_REQUIRE_FIRMWARE, &rt2x00dev->flags);
++ __set_bit(DRIVER_REQUIRE_MCU, &rt2x00dev->flags);
++ }
+ __set_bit(DRIVER_REQUIRE_DMA, &rt2x00dev->flags);
+ __set_bit(DRIVER_REQUIRE_L2PAD, &rt2x00dev->flags);
+ if (!modparam_nohwcrypt)
+--- a/drivers/net/wireless/rt2x00/rt2x00.h
++++ b/drivers/net/wireless/rt2x00/rt2x00.h
+@@ -631,6 +631,7 @@ enum rt2x00_flags {
+ * Driver requirements
+ */
+ DRIVER_REQUIRE_FIRMWARE,
++ DRIVER_REQUIRE_MCU,
+ DRIVER_REQUIRE_BEACON_GUARD,
+ DRIVER_REQUIRE_ATIM_QUEUE,
+ DRIVER_REQUIRE_DMA,