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

Commit 4348d085 authored by Ujjal Roy's avatar Ujjal Roy Committed by John W. Linville
Browse files

mwifiex: use little-endian variables in firmware structures



The firmware expects the command structure members in little
endianness.

Signed-off-by: default avatarUjjal Roy <royujjal@gmail.com>
Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 342a11e1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -312,14 +312,14 @@ static int mwifiex_dnld_sleep_confirm_cmd(struct mwifiex_adapter *adapter)
	}
	if (GET_BSS_ROLE(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY))
	    == MWIFIEX_BSS_ROLE_STA) {
		if (!sleep_cfm_buf->resp_ctrl)
		if (!le16_to_cpu(sleep_cfm_buf->resp_ctrl))
			/* Response is not needed for sleep
			   confirm command */
			adapter->ps_state = PS_STATE_SLEEP;
		else
			adapter->ps_state = PS_STATE_SLEEP_CFM;

		if (!sleep_cfm_buf->resp_ctrl &&
		if (!le16_to_cpu(sleep_cfm_buf->resp_ctrl) &&
		    (adapter->is_hs_configured &&
		     !adapter->sleep_period.period)) {
			adapter->pm_wakeup_card_req = true;
+14 −14
Original line number Diff line number Diff line
@@ -610,12 +610,12 @@ struct mwifiex_ie_types_tsf_timestamp {
struct mwifiex_cf_param_set {
	u8 cfp_cnt;
	u8 cfp_period;
	u16 cfp_max_duration;
	u16 cfp_duration_remaining;
	__le16 cfp_max_duration;
	__le16 cfp_duration_remaining;
} __packed;

struct mwifiex_ibss_param_set {
	u16 atim_window;
	__le16 atim_window;
} __packed;

struct mwifiex_ie_types_ss_param_set {
@@ -627,7 +627,7 @@ struct mwifiex_ie_types_ss_param_set {
} __packed;

struct mwifiex_fh_param_set {
	u16 dwell_time;
	__le16 dwell_time;
	u8 hop_set;
	u8 hop_pattern;
	u8 hop_index;
@@ -684,10 +684,10 @@ struct host_cmd_ds_802_11_key_material {
} __packed;

struct host_cmd_ds_gen {
	u16 command;
	u16 size;
	u16 seq_num;
	u16 result;
	__le16 command;
	__le16 size;
	__le16 seq_num;
	__le16 result;
};

#define S_DS_GEN        sizeof(struct host_cmd_ds_gen)
@@ -820,8 +820,8 @@ struct ieee_types_cf_param_set {
	u8 len;
	u8 cfp_cnt;
	u8 cfp_period;
	u16 cfp_max_duration;
	u16 cfp_duration_remaining;
	__le16 cfp_max_duration;
	__le16 cfp_duration_remaining;
} __packed;

struct ieee_types_ibss_param_set {
@@ -957,7 +957,7 @@ struct mwifiex_hs_config_param {
} __packed;

struct hs_activate_param {
	u16 resp_ctrl;
	__le16 resp_ctrl;
} __packed;

struct host_cmd_ds_802_11_hs_cfg_enh {
@@ -1131,7 +1131,7 @@ struct host_cmd_ds_802_11_bg_scan_query {
} __packed;

struct host_cmd_ds_802_11_bg_scan_query_rsp {
	u32 report_condition;
	__le32 report_condition;
	struct host_cmd_ds_802_11_scan_rsp scan_resp;
} __packed;

@@ -1230,7 +1230,7 @@ struct mwifiex_ie_types_wmm_queue_status {
	struct mwifiex_ie_types_header header;
	u8 queue_index;
	u8 disabled;
	u16 medium_time;
	__le16 medium_time;
	u8 flow_required;
	u8 flow_created;
	u32 reserved;
@@ -1310,7 +1310,7 @@ struct mwifiex_ie_types_vht_oper {
	u8 chan_center_freq_1;
	u8 chan_center_freq_2;
	/* Basic MCS set map, each 2 bits stands for a NSS */
	u16 basic_mcs_map;
	__le16 basic_mcs_map;
} __packed;

struct mwifiex_ie_types_wmmcap {
+1 −1
Original line number Diff line number Diff line
@@ -354,7 +354,7 @@ mwifiex_cmd_802_11_hs_cfg(struct mwifiex_private *priv,
	}
	if (hs_activate) {
		hs_cfg->action = cpu_to_le16(HS_ACTIVATE);
		hs_cfg->params.hs_activate.resp_ctrl = RESP_NEEDED;
		hs_cfg->params.hs_activate.resp_ctrl = cpu_to_le16(RESP_NEEDED);
	} else {
		hs_cfg->action = cpu_to_le16(HS_CONFIGURE);
		hs_cfg->params.hs_config.conditions = hscfg_param->conditions;