[PATCH 2/3] rt2x00: Fix firmware loading regression on x86_64.
Seth Forshee
seth.forshee at canonical.com
Wed Feb 16 21:44:15 UTC 2011
From: Wolfgang Kufner <wolfgang.kufner at 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 at gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
(cherry-picked from commit 412b31334b831a8c2909afaca017c5a236ac2dd0 upstream)
Signed-off-by: Seth Forshee <seth.forshee at canonical.com>
---
drivers/net/wireless/rt2x00/rt2x00pci.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
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);
}
/**
--
1.7.1
More information about the kernel-team
mailing list