mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-19 16:17:40 +00:00
asix: check packet size against mtu+ETH_HLEN instead of ETH_FRAME_LEN
Driver checks received packet is too large in asix_rx_fixup() and fails if it is. Problem is that MTU might be set larger than 1500 and asix fails to work correctly with VLAN tagged packets. The check should be 'dev->net->mtu + ETH_HLEN' instead. Tested with AX88772. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
024a07bacf
commit
9227a46bfb
@ -344,7 +344,7 @@ static int asix_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
|
|||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (size > ETH_FRAME_LEN) {
|
if (size > dev->net->mtu + ETH_HLEN) {
|
||||||
netdev_err(dev->net, "asix_rx_fixup() Bad RX Length %d\n",
|
netdev_err(dev->net, "asix_rx_fixup() Bad RX Length %d\n",
|
||||||
size);
|
size);
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user