Skip to content

Commit

Permalink
ath6kl: make ath6kl_bmi_[read|write]_hi32() endian safe
Browse files Browse the repository at this point in the history
ath6kl_bmi_[read|write]_hi32() did not have endian support, fix that.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
  • Loading branch information
Kalle Valo committed Mar 7, 2012
1 parent 05aab17 commit b51f92e
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions drivers/net/wireless/ath/ath6kl/bmi.h
Original file line number Diff line number Diff line change
Expand Up @@ -225,18 +225,25 @@ struct ath6kl_bmi_target_info {

#define ath6kl_bmi_write_hi32(ar, item, val) \
({ \
u32 addr, v; \
u32 addr; \
__le32 v; \
\
addr = ath6kl_get_hi_item_addr(ar, HI_ITEM(item)); \
v = val; \
v = cpu_to_le32(val); \
ath6kl_bmi_write(ar, addr, (u8 *) &v, sizeof(v)); \
})

#define ath6kl_bmi_read_hi32(ar, item, val) \
({ \
u32 addr, *check_type = val; \
__le32 tmp; \
int ret; \
\
(void) (check_type == val); \
addr = ath6kl_get_hi_item_addr(ar, HI_ITEM(item)); \
ath6kl_bmi_read(ar, addr, (u8 *) val, 4); \
ret = ath6kl_bmi_read(ar, addr, (u8 *) &tmp, 4); \
*val = le32_to_cpu(tmp); \
ret; \
})

int ath6kl_bmi_init(struct ath6kl *ar);
Expand Down

0 comments on commit b51f92e

Please sign in to comment.