]> git.itanic.dy.fi Git - linux-stable/commit
net: smsc911x: fix skb handling in receive path
authorWill Deacon <will.deacon@arm.com>
Thu, 12 Apr 2012 05:54:09 +0000 (05:54 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Apr 2012 16:51:20 +0000 (09:51 -0700)
commit8b20a647671ec0f48a22bbd44a52b8e914914140
tree49c725965377cf94c68e8236048eefa036d1fed6
parent68b80be09c226e303e94241880b4a80248ee62ef
net: smsc911x: fix skb handling in receive path

[ Upstream commit 3c5e979bd037888dd7d722da22da4b43659af485 ]

The SMSC911x driver resets the ->head, ->data and ->tail pointers in the
skb on the reset path in order to avoid buffer overflow due to packet
padding performed by the hardware.

This patch fixes the receive path so that the skb pointers are fixed up
after the data has been read from the device, The error path is also
fixed to use number of words consistently and prevent erroneous FIFO
fastforwarding when skipping over bad data.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/smsc911x.c