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

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
...@@ -312,14 +312,14 @@ static int mwifiex_dnld_sleep_confirm_cmd(struct mwifiex_adapter *adapter) ...@@ -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)) if (GET_BSS_ROLE(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY))
== MWIFIEX_BSS_ROLE_STA) { == 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 /* Response is not needed for sleep
confirm command */ confirm command */
adapter->ps_state = PS_STATE_SLEEP; adapter->ps_state = PS_STATE_SLEEP;
else else
adapter->ps_state = PS_STATE_SLEEP_CFM; 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->is_hs_configured &&
!adapter->sleep_period.period)) { !adapter->sleep_period.period)) {
adapter->pm_wakeup_card_req = true; adapter->pm_wakeup_card_req = true;
......
...@@ -610,12 +610,12 @@ struct mwifiex_ie_types_tsf_timestamp { ...@@ -610,12 +610,12 @@ struct mwifiex_ie_types_tsf_timestamp {
struct mwifiex_cf_param_set { struct mwifiex_cf_param_set {
u8 cfp_cnt; u8 cfp_cnt;
u8 cfp_period; u8 cfp_period;
u16 cfp_max_duration; __le16 cfp_max_duration;
u16 cfp_duration_remaining; __le16 cfp_duration_remaining;
} __packed; } __packed;
struct mwifiex_ibss_param_set { struct mwifiex_ibss_param_set {
u16 atim_window; __le16 atim_window;
} __packed; } __packed;
struct mwifiex_ie_types_ss_param_set { struct mwifiex_ie_types_ss_param_set {
...@@ -627,7 +627,7 @@ struct mwifiex_ie_types_ss_param_set { ...@@ -627,7 +627,7 @@ struct mwifiex_ie_types_ss_param_set {
} __packed; } __packed;
struct mwifiex_fh_param_set { struct mwifiex_fh_param_set {
u16 dwell_time; __le16 dwell_time;
u8 hop_set; u8 hop_set;
u8 hop_pattern; u8 hop_pattern;
u8 hop_index; u8 hop_index;
...@@ -684,10 +684,10 @@ struct host_cmd_ds_802_11_key_material { ...@@ -684,10 +684,10 @@ struct host_cmd_ds_802_11_key_material {
} __packed; } __packed;
struct host_cmd_ds_gen { struct host_cmd_ds_gen {
u16 command; __le16 command;
u16 size; __le16 size;
u16 seq_num; __le16 seq_num;
u16 result; __le16 result;
}; };
#define S_DS_GEN sizeof(struct host_cmd_ds_gen) #define S_DS_GEN sizeof(struct host_cmd_ds_gen)
...@@ -820,8 +820,8 @@ struct ieee_types_cf_param_set { ...@@ -820,8 +820,8 @@ struct ieee_types_cf_param_set {
u8 len; u8 len;
u8 cfp_cnt; u8 cfp_cnt;
u8 cfp_period; u8 cfp_period;
u16 cfp_max_duration; __le16 cfp_max_duration;
u16 cfp_duration_remaining; __le16 cfp_duration_remaining;
} __packed; } __packed;
struct ieee_types_ibss_param_set { struct ieee_types_ibss_param_set {
...@@ -957,7 +957,7 @@ struct mwifiex_hs_config_param { ...@@ -957,7 +957,7 @@ struct mwifiex_hs_config_param {
} __packed; } __packed;
struct hs_activate_param { struct hs_activate_param {
u16 resp_ctrl; __le16 resp_ctrl;
} __packed; } __packed;
struct host_cmd_ds_802_11_hs_cfg_enh { struct host_cmd_ds_802_11_hs_cfg_enh {
...@@ -1131,7 +1131,7 @@ struct host_cmd_ds_802_11_bg_scan_query { ...@@ -1131,7 +1131,7 @@ struct host_cmd_ds_802_11_bg_scan_query {
} __packed; } __packed;
struct host_cmd_ds_802_11_bg_scan_query_rsp { 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; struct host_cmd_ds_802_11_scan_rsp scan_resp;
} __packed; } __packed;
...@@ -1230,7 +1230,7 @@ struct mwifiex_ie_types_wmm_queue_status { ...@@ -1230,7 +1230,7 @@ struct mwifiex_ie_types_wmm_queue_status {
struct mwifiex_ie_types_header header; struct mwifiex_ie_types_header header;
u8 queue_index; u8 queue_index;
u8 disabled; u8 disabled;
u16 medium_time; __le16 medium_time;
u8 flow_required; u8 flow_required;
u8 flow_created; u8 flow_created;
u32 reserved; u32 reserved;
...@@ -1310,7 +1310,7 @@ struct mwifiex_ie_types_vht_oper { ...@@ -1310,7 +1310,7 @@ struct mwifiex_ie_types_vht_oper {
u8 chan_center_freq_1; u8 chan_center_freq_1;
u8 chan_center_freq_2; u8 chan_center_freq_2;
/* Basic MCS set map, each 2 bits stands for a NSS */ /* Basic MCS set map, each 2 bits stands for a NSS */
u16 basic_mcs_map; __le16 basic_mcs_map;
} __packed; } __packed;
struct mwifiex_ie_types_wmmcap { struct mwifiex_ie_types_wmmcap {
......
...@@ -354,7 +354,7 @@ mwifiex_cmd_802_11_hs_cfg(struct mwifiex_private *priv, ...@@ -354,7 +354,7 @@ mwifiex_cmd_802_11_hs_cfg(struct mwifiex_private *priv,
} }
if (hs_activate) { if (hs_activate) {
hs_cfg->action = cpu_to_le16(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 { } else {
hs_cfg->action = cpu_to_le16(HS_CONFIGURE); hs_cfg->action = cpu_to_le16(HS_CONFIGURE);
hs_cfg->params.hs_config.conditions = hscfg_param->conditions; hs_cfg->params.hs_config.conditions = hscfg_param->conditions;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment