Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Amitkumar Karwar and committed by
Kalle Valo
6c631732 d1c54096

+2
+2
drivers/net/wireless/mwifiex/uap_event.c
··· 41 41 mwifiex_dbg_dump(priv->adapter, EVT_D, "uap capabilties:", 42 42 event->data, event->len); 43 43 44 + skb_push(event, MWIFIEX_BSS_START_EVT_FIX_SIZE); 45 + 44 46 while ((evt_len >= sizeof(tlv_hdr->header))) { 45 47 tlv_hdr = (struct mwifiex_ie_types_data *)curr; 46 48 tlv_len = le16_to_cpu(tlv_hdr->header.len);