aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>2013-01-28 18:31:02 +0200
committerJohn W. Linville <linville@tuxdriver.com>2013-01-30 15:07:14 -0500
commit241804cb7b09d05c1e79735fa51521b211f51fd1 (patch)
treeba432c4e86042a139e8a49fe3151e8fd1ffe6a8b /drivers/net/wireless
parentwil6210: Fix: Tx stall (diff)
downloadlinux-dev-241804cb7b09d05c1e79735fa51521b211f51fd1.tar.xz
linux-dev-241804cb7b09d05c1e79735fa51521b211f51fd1.zip
wil6210: Call skb_orphan() right before Rx indication
Other parts of Rx path (BACK logic) will need to access associated data Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/wil6210/txrx.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c
index e7ea5384a614..649f50476105 100644
--- a/drivers/net/wireless/ath/wil6210/txrx.c
+++ b/drivers/net/wireless/ath/wil6210/txrx.c
@@ -430,6 +430,8 @@ static void wil_netif_rx_any(struct sk_buff *skb, struct net_device *ndev)
int rc;
unsigned int len = skb->len;
+ skb_orphan(skb);
+
if (in_interrupt())
rc = netif_rx(skb);
else
@@ -464,8 +466,6 @@ void wil_rx_handle(struct wil6210_priv *wil)
wil_hex_dump_TXRX("Rx ", DUMP_PREFIX_OFFSET, 16, 1,
skb->data, skb_headlen(skb), false);
- skb_orphan(skb);
-
if (wil->wdev->iftype == NL80211_IFTYPE_MONITOR) {
skb->dev = ndev;
skb_reset_mac_header(skb);