summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmitkumar Karwar2015-07-27 14:02:27 +0200
committerKalle Valo2015-08-06 09:19:23 +0200
commit6c6317321107bee5aad2d85d848b0597428343d8 (patch)
tree717e8a4f0408b2f3c5a2be225a38b059bfc0a705
parentwl18xx: add dynamic fw traces (diff)
downloadkernel-qcow2-linux-6c6317321107bee5aad2d85d848b0597428343d8.tar.gz
kernel-qcow2-linux-6c6317321107bee5aad2d85d848b0597428343d8.tar.xz
kernel-qcow2-linux-6c6317321107bee5aad2d85d848b0597428343d8.zip
mwifiex: add missing skb_push() in mwifiex_check_uap_capabilties
For PCIe/USB chipsets, preallocated skb buffers are reused for event handling. mwifiex_check_uap_capabilties() performs skb_pull(). This patch adds missing skb_push() to restore skb's data pointer/length. This bug was introduced by commit debfc6008169 ("mwifiex: update AP WMM settings from BSS_START event") Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Nishant Sarmukadam <nishants@marvell.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-rw-r--r--drivers/net/wireless/mwifiex/uap_event.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/mwifiex/uap_event.c b/drivers/net/wireless/mwifiex/uap_event.c
index 492a8b3c636e..46c972a650a4 100644
--- a/drivers/net/wireless/mwifiex/uap_event.c
+++ b/drivers/net/wireless/mwifiex/uap_event.c
@@ -41,6 +41,8 @@ static int mwifiex_check_uap_capabilties(struct mwifiex_private *priv,
mwifiex_dbg_dump(priv->adapter, EVT_D, "uap capabilties:",
event->data, event->len);
+ skb_push(event, MWIFIEX_BSS_START_EVT_FIX_SIZE);
+
while ((evt_len >= sizeof(tlv_hdr->header))) {
tlv_hdr = (struct mwifiex_ie_types_data *)curr;
tlv_len = le16_to_cpu(tlv_hdr->header.len);