diff options
author | Prasun Maiti <prasunmaiti87@gmail.com> | 2016-06-30 14:01:23 +0530 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2016-07-08 16:46:43 +0300 |
commit | c18b104dd2495da60ec92f40e14559591644cc3a (patch) | |
tree | 56b98099f8e1064144d1249f9c8b4c7307447b0a /drivers/net/wireless/marvell | |
parent | dba8fbc67ecd193590a72e960e9f5a6578b8bae6 (diff) | |
download | op-kernel-dev-c18b104dd2495da60ec92f40e14559591644cc3a.zip op-kernel-dev-c18b104dd2495da60ec92f40e14559591644cc3a.tar.gz |
mwifiex: Fix endianness for event TLV type TLV_BTCOEX_WL_SCANTIME
The two members min_scan_time and max_scan_time of structure
"mwifiex_ie_types_btcoex_scan_time" are of two bytes each. The values
are assigned directtly from firmware without endian conversion handling.
So, wrong datas will get saved in big-endian systems.
This patch converts the values into cpu's byte order before assigning them
into the local members.
Signed-off-by: Prasun Maiti <prasunmaiti87@gmail.com>
Acked-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/marvell')
-rw-r--r-- | drivers/net/wireless/marvell/mwifiex/fw.h | 4 | ||||
-rw-r--r-- | drivers/net/wireless/marvell/mwifiex/sta_event.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/wireless/marvell/mwifiex/fw.h b/drivers/net/wireless/marvell/mwifiex/fw.h index cef7234..5596b6b 100644 --- a/drivers/net/wireless/marvell/mwifiex/fw.h +++ b/drivers/net/wireless/marvell/mwifiex/fw.h @@ -1961,8 +1961,8 @@ struct mwifiex_ie_types_btcoex_scan_time { struct mwifiex_ie_types_header header; u8 coex_scan; u8 reserved; - u16 min_scan_time; - u16 max_scan_time; + __le16 min_scan_time; + __le16 max_scan_time; } __packed; struct mwifiex_ie_types_btcoex_aggr_win_size { diff --git a/drivers/net/wireless/marvell/mwifiex/sta_event.c b/drivers/net/wireless/marvell/mwifiex/sta_event.c index 7c01778..a422f33 100644 --- a/drivers/net/wireless/marvell/mwifiex/sta_event.c +++ b/drivers/net/wireless/marvell/mwifiex/sta_event.c @@ -474,8 +474,8 @@ void mwifiex_bt_coex_wlan_param_update_event(struct mwifiex_private *priv, scantlv = (struct mwifiex_ie_types_btcoex_scan_time *)tlv; adapter->coex_scan = scantlv->coex_scan; - adapter->coex_min_scan_time = scantlv->min_scan_time; - adapter->coex_max_scan_time = scantlv->max_scan_time; + adapter->coex_min_scan_time = le16_to_cpu(scantlv->min_scan_time); + adapter->coex_max_scan_time = le16_to_cpu(scantlv->max_scan_time); break; default: |