diff options
author | Daniel Mentz <danielmentz@google.com> | 2017-03-09 14:06:16 +0530 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2017-03-20 19:05:21 +0200 |
commit | 5653c6462f56e13cb943cd572fdae9252157a523 (patch) | |
tree | 3bdb0b12ddc8ec0a33ec2bcfa8f4e8a5e6250ea3 /drivers/net/wireless/marvell/mwifiex/11h.c | |
parent | 5c0b87987432ad9d2c7068dc739d9f21bb6ff72e (diff) | |
download | op-kernel-dev-5653c6462f56e13cb943cd572fdae9252157a523.zip op-kernel-dev-5653c6462f56e13cb943cd572fdae9252157a523.tar.gz |
mwifiex: Use accessors routines for unaligned values
Synopsys' ARCompact architecture does not support loading from or
storing values to unaligned memory locations. We saw a series of
misaligned access exceptions on ARC. To work around this issue, we bulk
replaced le16_to_cpu and le32_to_cpu with get_unaligned_le16 and
get_unaligned_le32, respectively. We also added le16_unaligned_add_cpu
which is similar to le16_add_cpu but works with unaligned values.
Signed-off-by: Daniel Mentz <danielmentz@google.com>
Signed-off-by: Ganapathi Bhat <gbhat@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/marvell/mwifiex/11h.c')
-rw-r--r-- | drivers/net/wireless/marvell/mwifiex/11h.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/marvell/mwifiex/11h.c b/drivers/net/wireless/marvell/mwifiex/11h.c index 43dccd5..366eb49 100644 --- a/drivers/net/wireless/marvell/mwifiex/11h.c +++ b/drivers/net/wireless/marvell/mwifiex/11h.c @@ -153,7 +153,8 @@ int mwifiex_cmd_issue_chan_report_request(struct mwifiex_private *priv, cmd->command = cpu_to_le16(HostCmd_CMD_CHAN_REPORT_REQUEST); cmd->size = cpu_to_le16(S_DS_GEN); - le16_add_cpu(&cmd->size, sizeof(struct host_cmd_ds_chan_rpt_req)); + le16_unaligned_add_cpu(&cmd->size, + sizeof(struct host_cmd_ds_chan_rpt_req)); cr_req->chan_desc.start_freq = cpu_to_le16(MWIFIEX_A_BAND_START_FREQ); cr_req->chan_desc.chan_num = radar_params->chandef->chan->hw_value; |