Commit d39fbc88 authored by Bing Zhao's avatar Bing Zhao Committed by John W. Linville

mwifiex: remove cfg_data construction

The cfg_data buffer will include the cfg_data structure header
(action, type, data_len). This makes it work for all data types
without extra parsing.
Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent dd4a9ac0
...@@ -468,8 +468,6 @@ enum P2P_MODES { ...@@ -468,8 +468,6 @@ enum P2P_MODES {
#define MWIFIEX_CRITERIA_UNICAST BIT(1) #define MWIFIEX_CRITERIA_UNICAST BIT(1)
#define MWIFIEX_CRITERIA_MULTICAST BIT(3) #define MWIFIEX_CRITERIA_MULTICAST BIT(3)
#define CFG_DATA_TYPE_CAL 2
struct mwifiex_ie_types_header { struct mwifiex_ie_types_header {
__le16 type; __le16 type;
__le16 len; __le16 len;
...@@ -1592,12 +1590,6 @@ struct mwifiex_ie_list { ...@@ -1592,12 +1590,6 @@ struct mwifiex_ie_list {
struct mwifiex_ie ie_list[MAX_MGMT_IE_INDEX]; struct mwifiex_ie ie_list[MAX_MGMT_IE_INDEX];
} __packed; } __packed;
struct host_cmd_ds_802_11_cfg_data {
__le16 action;
__le16 type;
__le16 data_len;
} __packed;
struct coalesce_filt_field_param { struct coalesce_filt_field_param {
u8 operation; u8 operation;
u8 operand_len; u8 operand_len;
...@@ -1678,7 +1670,6 @@ struct host_cmd_ds_command { ...@@ -1678,7 +1670,6 @@ struct host_cmd_ds_command {
struct host_cmd_ds_sys_config uap_sys_config; struct host_cmd_ds_sys_config uap_sys_config;
struct host_cmd_ds_sta_deauth sta_deauth; struct host_cmd_ds_sta_deauth sta_deauth;
struct host_cmd_11ac_vht_cfg vht_cfg; struct host_cmd_11ac_vht_cfg vht_cfg;
struct host_cmd_ds_802_11_cfg_data cfg_data;
struct host_cmd_ds_coalesce_cfg coalesce_cfg; struct host_cmd_ds_coalesce_cfg coalesce_cfg;
} params; } params;
} __packed; } __packed;
......
...@@ -1158,28 +1158,20 @@ static u32 mwifiex_parse_cal_cfg(u8 *src, size_t len, u8 *dst) ...@@ -1158,28 +1158,20 @@ static u32 mwifiex_parse_cal_cfg(u8 *src, size_t len, u8 *dst)
/* This function prepares command of set_cfg_data. */ /* This function prepares command of set_cfg_data. */
static int mwifiex_cmd_cfg_data(struct mwifiex_private *priv, static int mwifiex_cmd_cfg_data(struct mwifiex_private *priv,
struct host_cmd_ds_command *cmd, struct host_cmd_ds_command *cmd)
u16 cmd_action)
{ {
struct host_cmd_ds_802_11_cfg_data *cfg_data = &cmd->params.cfg_data;
struct mwifiex_adapter *adapter = priv->adapter; struct mwifiex_adapter *adapter = priv->adapter;
u32 len, cal_data_offset; u32 len;
u8 *tmp_cmd = (u8 *)cmd; u8 *data = (u8 *)cmd + S_DS_GEN;
cal_data_offset = S_DS_GEN + sizeof(*cfg_data);
if ((adapter->cal_data->data) && (adapter->cal_data->size > 0)) if ((adapter->cal_data->data) && (adapter->cal_data->size > 0))
len = mwifiex_parse_cal_cfg((u8 *)adapter->cal_data->data, len = mwifiex_parse_cal_cfg((u8 *)adapter->cal_data->data,
adapter->cal_data->size, adapter->cal_data->size, data);
(u8 *)(tmp_cmd + cal_data_offset));
else else
return -1; return -1;
cfg_data->action = cpu_to_le16(cmd_action);
cfg_data->type = cpu_to_le16(CFG_DATA_TYPE_CAL);
cfg_data->data_len = cpu_to_le16(len);
cmd->command = cpu_to_le16(HostCmd_CMD_CFG_DATA); cmd->command = cpu_to_le16(HostCmd_CMD_CFG_DATA);
cmd->size = cpu_to_le16(S_DS_GEN + sizeof(*cfg_data) + len); cmd->size = cpu_to_le16(S_DS_GEN + len);
return 0; return 0;
} }
...@@ -1267,7 +1259,7 @@ int mwifiex_sta_prepare_cmd(struct mwifiex_private *priv, uint16_t cmd_no, ...@@ -1267,7 +1259,7 @@ int mwifiex_sta_prepare_cmd(struct mwifiex_private *priv, uint16_t cmd_no,
ret = mwifiex_cmd_get_hw_spec(priv, cmd_ptr); ret = mwifiex_cmd_get_hw_spec(priv, cmd_ptr);
break; break;
case HostCmd_CMD_CFG_DATA: case HostCmd_CMD_CFG_DATA:
ret = mwifiex_cmd_cfg_data(priv, cmd_ptr, cmd_action); ret = mwifiex_cmd_cfg_data(priv, cmd_ptr);
break; break;
case HostCmd_CMD_MAC_CONTROL: case HostCmd_CMD_MAC_CONTROL:
ret = mwifiex_cmd_mac_control(priv, cmd_ptr, cmd_action, ret = mwifiex_cmd_mac_control(priv, cmd_ptr, cmd_action,
......
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