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)
committerDavid S. Miller <davem@davemloft.net>
Fri, 13 Apr 2012 18:07:51 +0000 (14:07 -0400)
commit3c5e979bd037888dd7d722da22da4b43659af485
treee99ee38a97475131747820deddf3ff749821160c
parent51c61a2838c33dab7b6659b9a3e008bb1b40bc9b
net: smsc911x: fix skb handling in receive path

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>
drivers/net/ethernet/smsc/smsc911x.c