Commit 7cc5eb62 authored by Amitkumar Karwar's avatar Amitkumar Karwar Committed by John W. Linville

mwifiex: remove unnecessary struct mwifiex_opt_sleep_confirm_buffer

The structure definition is
struct mwifiex_opt_sleep_confirm_buffer {
       u8 hdr[4];
       struct mwifiex_opt_sleep_confirm ps_cfm_sleep;
} __packed;

For sleep_confirm command we already reserve 4 bytes (using skb_reserve())
for an interface header. It will be filled later by interface specific code.
We don't need "hdr[4]" element in above structure. So we can use
"struct mwifiex_opt_sleep_confirm" directly instead of
"struct mwifiex_opt_sleep_confirm_buffer".
Signed-off-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
Signed-off-by: default avatarYogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 8369ae33
...@@ -223,24 +223,23 @@ static int mwifiex_dnld_cmd_to_fw(struct mwifiex_private *priv, ...@@ -223,24 +223,23 @@ static int mwifiex_dnld_cmd_to_fw(struct mwifiex_private *priv,
static int mwifiex_dnld_sleep_confirm_cmd(struct mwifiex_adapter *adapter) static int mwifiex_dnld_sleep_confirm_cmd(struct mwifiex_adapter *adapter)
{ {
int ret; int ret;
u16 cmd_len;
struct mwifiex_private *priv; struct mwifiex_private *priv;
struct mwifiex_opt_sleep_confirm_buffer *sleep_cfm_buf = struct mwifiex_opt_sleep_confirm *sleep_cfm_buf =
(struct mwifiex_opt_sleep_confirm_buffer *) (struct mwifiex_opt_sleep_confirm *)
adapter->sleep_cfm->data; adapter->sleep_cfm->data;
cmd_len = sizeof(struct mwifiex_opt_sleep_confirm);
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY); priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
sleep_cfm_buf->ps_cfm_sleep.seq_num = sleep_cfm_buf->seq_num =
cpu_to_le16((HostCmd_SET_SEQ_NO_BSS_INFO cpu_to_le16((HostCmd_SET_SEQ_NO_BSS_INFO
(adapter->seq_num, priv->bss_num, (adapter->seq_num, priv->bss_num,
priv->bss_type))); priv->bss_type)));
adapter->seq_num++; adapter->seq_num++;
skb_push(adapter->sleep_cfm, INTF_HEADER_LEN);
ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_TYPE_CMD, ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_TYPE_CMD,
adapter->sleep_cfm->data, adapter->sleep_cfm->data,
adapter->sleep_cfm->len + adapter->sleep_cfm->len, NULL);
INTF_HEADER_LEN, NULL); skb_pull(adapter->sleep_cfm, INTF_HEADER_LEN);
if (ret == -1) { if (ret == -1) {
dev_err(adapter->dev, "SLEEP_CFM: failed\n"); dev_err(adapter->dev, "SLEEP_CFM: failed\n");
...@@ -249,14 +248,14 @@ static int mwifiex_dnld_sleep_confirm_cmd(struct mwifiex_adapter *adapter) ...@@ -249,14 +248,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->ps_cfm_sleep.resp_ctrl) if (!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->ps_cfm_sleep.resp_ctrl if (!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;
......
...@@ -1198,9 +1198,4 @@ struct mwifiex_opt_sleep_confirm { ...@@ -1198,9 +1198,4 @@ struct mwifiex_opt_sleep_confirm {
__le16 action; __le16 action;
__le16 resp_ctrl; __le16 resp_ctrl;
} __packed; } __packed;
struct mwifiex_opt_sleep_confirm_buffer {
u8 hdr[4];
struct mwifiex_opt_sleep_confirm ps_cfm_sleep;
} __packed;
#endif /* !_MWIFIEX_FW_H_ */ #endif /* !_MWIFIEX_FW_H_ */
...@@ -175,7 +175,7 @@ static int mwifiex_allocate_adapter(struct mwifiex_adapter *adapter) ...@@ -175,7 +175,7 @@ static int mwifiex_allocate_adapter(struct mwifiex_adapter *adapter)
} }
adapter->sleep_cfm = adapter->sleep_cfm =
dev_alloc_skb(sizeof(struct mwifiex_opt_sleep_confirm_buffer) dev_alloc_skb(sizeof(struct mwifiex_opt_sleep_confirm)
+ INTF_HEADER_LEN); + INTF_HEADER_LEN);
if (!adapter->sleep_cfm) { if (!adapter->sleep_cfm) {
...@@ -197,10 +197,10 @@ static int mwifiex_allocate_adapter(struct mwifiex_adapter *adapter) ...@@ -197,10 +197,10 @@ static int mwifiex_allocate_adapter(struct mwifiex_adapter *adapter)
*/ */
static void mwifiex_init_adapter(struct mwifiex_adapter *adapter) static void mwifiex_init_adapter(struct mwifiex_adapter *adapter)
{ {
struct mwifiex_opt_sleep_confirm_buffer *sleep_cfm_buf = NULL; struct mwifiex_opt_sleep_confirm *sleep_cfm_buf = NULL;
skb_put(adapter->sleep_cfm, sizeof(sleep_cfm_buf->ps_cfm_sleep)); skb_put(adapter->sleep_cfm, sizeof(struct mwifiex_opt_sleep_confirm));
sleep_cfm_buf = (struct mwifiex_opt_sleep_confirm_buffer *) sleep_cfm_buf = (struct mwifiex_opt_sleep_confirm *)
(adapter->sleep_cfm->data); (adapter->sleep_cfm->data);
adapter->cmd_sent = false; adapter->cmd_sent = false;
...@@ -268,16 +268,14 @@ static void mwifiex_init_adapter(struct mwifiex_adapter *adapter) ...@@ -268,16 +268,14 @@ static void mwifiex_init_adapter(struct mwifiex_adapter *adapter)
mwifiex_wmm_init(adapter); mwifiex_wmm_init(adapter);
if (adapter->sleep_cfm) { if (adapter->sleep_cfm) {
memset(&sleep_cfm_buf->ps_cfm_sleep, 0, memset(sleep_cfm_buf, 0, adapter->sleep_cfm->len);
adapter->sleep_cfm->len); sleep_cfm_buf->command =
sleep_cfm_buf->ps_cfm_sleep.command = cpu_to_le16(HostCmd_CMD_802_11_PS_MODE_ENH);
cpu_to_le16(HostCmd_CMD_802_11_PS_MODE_ENH); sleep_cfm_buf->size =
sleep_cfm_buf->ps_cfm_sleep.size = cpu_to_le16(adapter->sleep_cfm->len);
cpu_to_le16(adapter->sleep_cfm->len); sleep_cfm_buf->result = 0;
sleep_cfm_buf->ps_cfm_sleep.result = 0; sleep_cfm_buf->action = cpu_to_le16(SLEEP_CONFIRM);
sleep_cfm_buf->ps_cfm_sleep.action = cpu_to_le16(SLEEP_CONFIRM); sleep_cfm_buf->resp_ctrl = cpu_to_le16(RESP_NEEDED);
sleep_cfm_buf->ps_cfm_sleep.resp_ctrl =
cpu_to_le16(RESP_NEEDED);
} }
memset(&adapter->sleep_params, 0, sizeof(adapter->sleep_params)); memset(&adapter->sleep_params, 0, sizeof(adapter->sleep_params));
memset(&adapter->sleep_period, 0, sizeof(adapter->sleep_period)); memset(&adapter->sleep_period, 0, sizeof(adapter->sleep_period));
......
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