wl1271: Fix 32 bit register read related endiannes bug
Reading single registers did not pay attention to data endianness. This patch fix that. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
d717fd6188
commit
554d7209c8
@ -481,7 +481,7 @@ struct wl1271 {
|
|||||||
struct wl1271_stats stats;
|
struct wl1271_stats stats;
|
||||||
struct wl1271_debugfs debugfs;
|
struct wl1271_debugfs debugfs;
|
||||||
|
|
||||||
u32 buffer_32;
|
__le32 buffer_32;
|
||||||
u32 buffer_cmd;
|
u32 buffer_cmd;
|
||||||
u32 buffer_busyword[WL1271_BUSY_WORD_CNT];
|
u32 buffer_busyword[WL1271_BUSY_WORD_CNT];
|
||||||
|
|
||||||
|
@ -74,12 +74,12 @@ static inline u32 wl1271_raw_read32(struct wl1271 *wl, int addr)
|
|||||||
wl1271_raw_read(wl, addr, &wl->buffer_32,
|
wl1271_raw_read(wl, addr, &wl->buffer_32,
|
||||||
sizeof(wl->buffer_32), false);
|
sizeof(wl->buffer_32), false);
|
||||||
|
|
||||||
return wl->buffer_32;
|
return le32_to_cpu(wl->buffer_32);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void wl1271_raw_write32(struct wl1271 *wl, int addr, u32 val)
|
static inline void wl1271_raw_write32(struct wl1271 *wl, int addr, u32 val)
|
||||||
{
|
{
|
||||||
wl->buffer_32 = val;
|
wl->buffer_32 = cpu_to_le32(val);
|
||||||
wl1271_raw_write(wl, addr, &wl->buffer_32,
|
wl1271_raw_write(wl, addr, &wl->buffer_32,
|
||||||
sizeof(wl->buffer_32), false);
|
sizeof(wl->buffer_32), false);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user