staging: r8712u: Do not queue cloned skb

Some post-3.4 kernels have a problem when a cloned skb is used in the
RX path. This patch handles one such case for r8712u.

The patch was suggested by Eric Dumazet.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Stable <stable@vger.kernel.org>  [v3.4+]
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Larry Finger 2012-09-26 14:01:31 -05:00 committed by Greg Kroah-Hartman
parent 3cd73bc1cf
commit fa16e5ea25
1 changed files with 4 additions and 1 deletions

View File

@ -1131,6 +1131,9 @@ static void recv_tasklet(void *priv)
recvbuf2recvframe(padapter, pskb);
skb_reset_tail_pointer(pskb);
pskb->len = 0;
skb_queue_tail(&precvpriv->free_recv_skb_queue, pskb);
if (!skb_cloned(pskb))
skb_queue_tail(&precvpriv->free_recv_skb_queue, pskb);
else
consume_skb(pskb);
}
}