Messages in this thread Patch in this message | | | Date | Thu, 07 Jun 2012 13:04:29 +0900 | From | Greg KH <> | Subject | [ 53/82] asix: allow full size 8021Q frames to be received |
| |
3.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Eric Dumazet <edumazet@google.com>
[ Upstream commit 9dae31009b1a00d926c6fe032d5a88099620adc3 ]
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 <allan@asix.com.tw> CC: Trond Wuellner <trond@chromium.org> CC: Grant Grundler <grundler@chromium.org> CC: Paul Stewart <pstew@chromium.org> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- drivers/net/usb/asix.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
--- 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 "22-Dec-2011" #define DRIVER_NAME "asix" @@ -321,7 +322,7 @@ static int asix_rx_fixup(struct usbnet * return 0; } - if ((size > dev->net->mtu + ETH_HLEN) || + if ((size > dev->net->mtu + ETH_HLEN + VLAN_HLEN) || (size + offset > skb->len)) { netdev_err(dev->net, "asix_rx_fixup() Bad RX Length %d\n", size);
| |