From: Bing Zhao <bzhao@marvell.com>
Date: Wed, 6 Apr 2011 23:46:55 +0000 (-0700)
Subject: mwifiex: fix cmd_skb headroom decreasing issue
X-Git-Tag: firefly_0821_release~7613^2~967^2~16^2~469
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=18bf965702058f5f8039e6a46bb5ebaa18d38ebd;p=firefly-linux-kernel-4.4.55.git

mwifiex: fix cmd_skb headroom decreasing issue

Before calling host_to_card() to send the cmd to firmware,
we use skb_push() to add 4 bytes SDIO interface header at
the start of the data buffer. Since cmd_skb data structure
will be re-used at a later time, we need to restore its
headroom by removing the 4 bytes header.

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Marc Yang <yangyang@marvell.com>
Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---

diff --git a/drivers/net/wireless/mwifiex/cmdevt.c b/drivers/net/wireless/mwifiex/cmdevt.c
index a9aeb31af455..8676480ead94 100644
--- a/drivers/net/wireless/mwifiex/cmdevt.c
+++ b/drivers/net/wireless/mwifiex/cmdevt.c
@@ -206,6 +206,8 @@ static int mwifiex_dnld_cmd_to_fw(struct mwifiex_private *priv,
 					     cmd_node->cmd_skb->data,
 					     cmd_node->cmd_skb->len, NULL);
 
+	skb_pull(cmd_node->cmd_skb, INTF_HEADER_LEN);
+
 	if (ret == -1) {
 		dev_err(adapter->dev, "DNLD_CMD: host to card failed\n");
 		if (wait_queue)