rt2x00: Fix firmware loading regression on x86_64.
authorWolfgang Kufner <wolfgang.kufner@gmail.com>
Mon, 13 Dec 2010 11:39:39 +0000 (12:39 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 13 Dec 2010 20:23:37 +0000 (15:23 -0500)
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>
drivers/net/wireless/rt2x00/rt2x00pci.h

index b854d62ff99bde9e3ada5bbd4811a6797ac1c677..746ce8fe8cf4375154babc8631545ba66b4f542b 100644 (file)
@@ -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);
 }
 
 /**