netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] asix: check packet size against mtu+ETH_HLEN instead of ETH_FRAME_LEN
@ 2010-06-06 23:35 Jussi Kivilinna
  2010-06-07  7:57 ` David Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Jussi Kivilinna @ 2010-06-06 23:35 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, David Hollis

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>
---
 drivers/net/usb/asix.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c
index 7e797ed..aea4645 100644
--- a/drivers/net/usb/asix.c
+++ b/drivers/net/usb/asix.c
@@ -344,7 +344,7 @@ static int asix_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
 			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",
 				   size);
 			return 0;


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-06-07  7:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-06 23:35 [PATCH] asix: check packet size against mtu+ETH_HLEN instead of ETH_FRAME_LEN Jussi Kivilinna
2010-06-07  7:57 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).