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

Commit c18b104d authored by Prasun Maiti's avatar Prasun Maiti Committed by Kalle Valo
Browse files

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: default avatarPrasun Maiti <prasunmaiti87@gmail.com>
Acked-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent dba8fbc6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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 {
+2 −2
Original line number Diff line number Diff line
@@ -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: