[ 82/82] asix: allow full size 8021Q frames to be received
From: Ben Hutchings <hidden>
Date: 2012-06-08 05:12:56
Also in:
lkml
3.2-stable review patch. If anyone has any objections, please let me know. ------------------ From: Eric Dumazet <edumazet@google.com> 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 <edumazet@google.com> CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org> CC: Allan Chou <redacted> CC: Trond Wuellner <redacted> CC: Grant Grundler <redacted> CC: Paul Stewart <redacted> Signed-off-by: David S. Miller <davem@davemloft.net> [bwh: Backported to 3.2: no offset used in asix_rx_fixup()] Signed-off-by: Ben Hutchings <redacted> ---
--- a/drivers/net/usb/asix.c
+++ b/drivers/net/usb/asix.c@@ -35,6 +35,7 @@ #include <linux/crc32.h> #include <linux/usb/usbnet.h> #include <linux/slab.h> +#include <linux/if_vlan.h> #define DRIVER_VERSION "08-Nov-2011" #define DRIVER_NAME "asix"
@@ -348,7 +349,7 @@ 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;