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

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

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
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -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)
{
	int ret;
	u16 cmd_len;
	struct mwifiex_private *priv;
	struct mwifiex_opt_sleep_confirm_buffer *sleep_cfm_buf =
				(struct mwifiex_opt_sleep_confirm_buffer *)
	struct mwifiex_opt_sleep_confirm *sleep_cfm_buf =
				(struct mwifiex_opt_sleep_confirm *)
				adapter->sleep_cfm->data;
	cmd_len = sizeof(struct mwifiex_opt_sleep_confirm);
	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
					(adapter->seq_num, priv->bss_num,
					 priv->bss_type)));
	adapter->seq_num++;

	skb_push(adapter->sleep_cfm, INTF_HEADER_LEN);
	ret = adapter->if_ops.host_to_card(adapter, MWIFIEX_TYPE_CMD,
					     adapter->sleep_cfm->data,
					     adapter->sleep_cfm->len +
					     INTF_HEADER_LEN, NULL);
					     adapter->sleep_cfm->len, NULL);
	skb_pull(adapter->sleep_cfm, INTF_HEADER_LEN);

	if (ret == -1) {
		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))
			== 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
			   confirm command */
			adapter->ps_state = PS_STATE_SLEEP;
		else
			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->sleep_period.period)) {
			adapter->pm_wakeup_card_req = true;
+0 −5
Original line number Diff line number Diff line
@@ -1198,9 +1198,4 @@ struct mwifiex_opt_sleep_confirm {
	__le16 action;
	__le16 resp_ctrl;
} __packed;

struct mwifiex_opt_sleep_confirm_buffer {
	u8 hdr[4];
	struct mwifiex_opt_sleep_confirm ps_cfm_sleep;
} __packed;
#endif /* !_MWIFIEX_FW_H_ */
+12 −14
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ static int mwifiex_allocate_adapter(struct mwifiex_adapter *adapter)
	}

	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);

	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)
{
	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));
	sleep_cfm_buf = (struct mwifiex_opt_sleep_confirm_buffer *)
	skb_put(adapter->sleep_cfm, sizeof(struct mwifiex_opt_sleep_confirm));
	sleep_cfm_buf = (struct mwifiex_opt_sleep_confirm *)
						(adapter->sleep_cfm->data);

	adapter->cmd_sent = false;
@@ -268,16 +268,14 @@ static void mwifiex_init_adapter(struct mwifiex_adapter *adapter)
	mwifiex_wmm_init(adapter);

	if (adapter->sleep_cfm) {
		memset(&sleep_cfm_buf->ps_cfm_sleep, 0,
			adapter->sleep_cfm->len);
		sleep_cfm_buf->ps_cfm_sleep.command =
		memset(sleep_cfm_buf, 0, adapter->sleep_cfm->len);
		sleep_cfm_buf->command =
				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);
		sleep_cfm_buf->ps_cfm_sleep.result = 0;
		sleep_cfm_buf->ps_cfm_sleep.action = cpu_to_le16(SLEEP_CONFIRM);
		sleep_cfm_buf->ps_cfm_sleep.resp_ctrl =
			cpu_to_le16(RESP_NEEDED);
		sleep_cfm_buf->result = 0;
		sleep_cfm_buf->action = cpu_to_le16(SLEEP_CONFIRM);
		sleep_cfm_buf->resp_ctrl = cpu_to_le16(RESP_NEEDED);
	}
	memset(&adapter->sleep_params, 0, sizeof(adapter->sleep_params));
	memset(&adapter->sleep_period, 0, sizeof(adapter->sleep_period));