net: sh_eth: fix skb_over_panic happen
authorYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Mon, 6 Feb 2012 23:55:15 +0000 (23:55 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Feb 2012 18:37:30 +0000 (13:37 -0500)
commitfdb37a7f84a58ccad24abffd54ad46d23b763e13
tree0e9dc5efda48b1eb2430ef9d27e884c5be5305f6
parent6d25886ee2fbc05a7bf4dae5f5ae345cb73df2fd
net: sh_eth: fix skb_over_panic happen

When this GETHER controller received a large frame (about 1800 bytes
or more), skb_over_panic() happened. This is because the previous
driver set the RFLR to 0x1000 (4096 bytes) and the skb allocate size
is smaller than 4096 bytes. So, the controller accepted such a frame.

The controller can discard a large frame by the RFLR setting.
So, the patch modifies the value of RFLR to mtu + ETH_HLEN +
VLAN_HLEN + ETH_FCS_LEN.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/renesas/sh_eth.c
drivers/net/ethernet/renesas/sh_eth.h