From: Eric Dumazet Date: Mon, 28 May 2012 22:31:41 +0000 (+0000) Subject: asix: allow full size 8021Q frames to be received X-Git-Tag: v3.2.20~4 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=a466c7f9d6e61fb19c2d49f82007a0700724a1e3;p=karo-tx-linux.git asix: allow full size 8021Q frames to be received commit 9dae31009b1a00d926c6fe032d5a88099620adc3 upstream. asix driver drops 8021Q full size frames because it doesn't take into account VLAN header size. Tested on AX88772 adapter. Signed-off-by: Eric Dumazet CC: Greg Kroah-Hartman CC: Allan Chou CC: Trond Wuellner CC: Grant Grundler CC: Paul Stewart Signed-off-by: David S. Miller [bwh: Backported to 3.2: no offset used in asix_rx_fixup()] Signed-off-by: Ben Hutchings --- diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c index a9abee8851f8..fc147a5ed890 100644 --- a/drivers/net/usb/asix.c +++ b/drivers/net/usb/asix.c @@ -35,6 +35,7 @@ #include #include #include +#include #define DRIVER_VERSION "08-Nov-2011" #define DRIVER_NAME "asix" @@ -348,7 +349,7 @@ static int asix_rx_fixup(struct usbnet *dev, struct sk_buff *skb) return 2; } - if (size > dev->net->mtu + ETH_HLEN) { + if (size > dev->net->mtu + ETH_HLEN + VLAN_HLEN) { netdev_err(dev->net, "asix_rx_fixup() Bad RX Length %d\n", size); return 0;