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: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
8369ae33b7
commit
7cc5eb629c
@@ -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)
|
|||||||
}
|
}
|
||||||
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 {
|
|||||||
__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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
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)
|
|||||||
*/
|
*/
|
||||||
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)
|
|||||||
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->ps_cfm_sleep.size =
|
sleep_cfm_buf->size =
|
||||||
cpu_to_le16(adapter->sleep_cfm->len);
|
cpu_to_le16(adapter->sleep_cfm->len);
|
||||||
sleep_cfm_buf->ps_cfm_sleep.result = 0;
|
sleep_cfm_buf->result = 0;
|
||||||
sleep_cfm_buf->ps_cfm_sleep.action = cpu_to_le16(SLEEP_CONFIRM);
|
sleep_cfm_buf->action = cpu_to_le16(SLEEP_CONFIRM);
|
||||||
sleep_cfm_buf->ps_cfm_sleep.resp_ctrl =
|
sleep_cfm_buf->resp_ctrl = cpu_to_le16(RESP_NEEDED);
|
||||||
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));
|
||||||
|
Reference in New Issue
Block a user