From e29bda76b5d5b085ce2e46dc5d52a455949647b4 Mon Sep 17 00:00:00 2001
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sat, 3 Apr 2010 14:30:50 +0000
Subject: [PATCH] mac80211: update rt2x00 mcu patch (thanks to Luis Correia)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20674 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/mac80211/Makefile                     |  2 +-
 ...2-rt2x00-remove-mcu-requests-for-soc.patch | 52 ++++---------------
 2 files changed, 12 insertions(+), 42 deletions(-)

diff --git a/package/mac80211/Makefile b/package/mac80211/Makefile
index d93c982f6..f44c12a49 100644
--- a/package/mac80211/Makefile
+++ b/package/mac80211/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
 PKG_NAME:=mac80211
 
 PKG_VERSION:=2010-03-24
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
 #	http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \
 #	http://wireless.kernel.org/download/compat-wireless-2.6
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
index 9cecf3a03..607d7c9c3 100644
--- a/package/mac80211/patches/602-rt2x00-remove-mcu-requests-for-soc.patch
+++ b/package/mac80211/patches/602-rt2x00-remove-mcu-requests-for-soc.patch
@@ -1,22 +1,17 @@
+From f18d4463d092162f34a8bd226505627ceeac3e8a Mon Sep 17 00:00:00 2001
+From: Luis Correia <luis.f.correia@gmail.com>
+Date: Sat, 3 Apr 2010 12:49:53 +0100
+Subject: [PATCH] rt2x00: remove MCU requests for SoC platforms
+
 The ralink SoC platforms do not have an MCU.
 
 Signed-off-by: Luis Correia <luis.f.correia@gmail.com>
+Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
+Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
 ---
+ drivers/net/wireless/rt2x00/rt2800pci.c |    6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
 
---- 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 
@@ -24,36 +19,11 @@ Signed-off-by: Luis Correia <luis.f.correia@gmail.com>
  	u32 reg;
  
 +	/*
-+	 * some devices don't support MCU requests.
++	 * SOC devices don't support MCU requests.
 +	 */
-+	if (!test_bit(DRIVER_REQUIRE_MCU, &rt2x00dev->flags))
++	if (rt2x00_is_soc(rt2x00dev))
 +		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,
-- 
2.20.1