Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 554d7209 authored by Juuso Oikarinen's avatar Juuso Oikarinen Committed by John W. Linville
Browse files

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: default avatarJuuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent d717fd61
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -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];


+2 −2
Original line number Original line Diff line number Diff line
@@ -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);
}
}