diff mbox

[2/3] rt2x00: Fix firmware loading regression on x86_64.

Message ID 1297892656-2190-3-git-send-email-seth.forshee@canonical.com
State Accepted
Commit e9b23a01f4adddf1c08749c1365b0b081ad746df
Headers show

Commit Message

Seth Forshee Feb. 16, 2011, 9:44 p.m. UTC
From: Wolfgang Kufner <wolfgang.kufner@gmail.com>

BugLink: http://bugs.launchpad.net/bugs/659143

Commit 6175ddf06b6172046a329e3abfd9c901a43efd2e changes the way
memcpy_toio() works for x86_64, causing firmware loading to fail for
some Ralink WLAN devices with the rt2800pci driver since linux 2.6.34.
This causes the log message: "phy0 -> rt2800pci_load_firmware: Error -
PBF system register not ready.".

Fix this by using __iowrite32_copy instead of memcpy_toio().

Signed-off-by: Wolfgang Kufner <wolfgang.kufner@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
(cherry-picked from commit 412b31334b831a8c2909afaca017c5a236ac2dd0 upstream)
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
---
 drivers/net/wireless/rt2x00/rt2x00pci.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff mbox

Patch

diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.h b/drivers/net/wireless/rt2x00/rt2x00pci.h
index 51bcef3..93e7bd2 100644
--- a/drivers/net/wireless/rt2x00/rt2x00pci.h
+++ b/drivers/net/wireless/rt2x00/rt2x00pci.h
@@ -64,7 +64,7 @@  static inline void rt2x00pci_register_multiwrite(struct rt2x00_dev *rt2x00dev,
 						 const void *value,
 						 const u32 length)
 {
-	memcpy_toio(rt2x00dev->csr.base + offset, value, length);
+	__iowrite32_copy(rt2x00dev->csr.base + offset, value, length >> 2);
 }
 
 /**