aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorGertjan van Wingerde <gwingerde@gmail.com>2011-11-16 17:16:15 -0500
committerHerton Ronaldo Krzesinski <herton.krzesinski@canonical.com>2011-12-12 08:07:05 -0500
commitb70ca92367f7723aeab6ce323f52a9313944984d (patch)
tree4c455898fdcf354455232aec420869438318acf0 /drivers/net/wireless
parente60aa21ec7b014789799442cd5a5b6a60bdc4ae7 (diff)
rt2x00: Fix efuse EEPROM reading on PPC32.
BugLink: http://bugs.launchpad.net/bugs/902312 commit 68fa64ef606bcee688fce46d07aa68f175070156 upstream. Fix __le32 to __le16 conversion of the first word of an 8-word block of EEPROM read via the efuse method. Reported-and-tested-by: Ingvar Hagelund <ingvar@redpill-linpro.com> Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com> Acked-by: Helmut Schaa <helmut.schaa@googlemail.com> Acked-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/rt2x00/rt2800lib.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index 3f7ea1ce295..e6e174caec8 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -3514,7 +3514,7 @@ static void rt2800_efuse_read(struct rt2x00_dev *rt2x00dev, unsigned int i)
3514 /* Apparently the data is read from end to start */ 3514 /* Apparently the data is read from end to start */
3515 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA3, &reg); 3515 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA3, &reg);
3516 /* The returned value is in CPU order, but eeprom is le */ 3516 /* The returned value is in CPU order, but eeprom is le */
3517 rt2x00dev->eeprom[i] = cpu_to_le32(reg); 3517 *(u32 *)&rt2x00dev->eeprom[i] = cpu_to_le32(reg);
3518 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA2, &reg); 3518 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA2, &reg);
3519 *(u32 *)&rt2x00dev->eeprom[i + 2] = cpu_to_le32(reg); 3519 *(u32 *)&rt2x00dev->eeprom[i + 2] = cpu_to_le32(reg);
3520 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA1, &reg); 3520 rt2800_register_read_lock(rt2x00dev, EFUSE_DATA1, &reg);