[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201009102336.00722.linux@rainbow-software.org>
Date: Fri, 10 Sep 2010 23:35:58 +0200
From: Ondrej Zary <linux@...nbow-software.org>
To: David Brownell <david-b@...bell.net>
Cc: David Brownell <dbrownell@...rs.sourceforge.net>,
netdev@...r.kernel.org,
Kernel development list <linux-kernel@...r.kernel.org>
Subject: [PATCH v2] usbnet: do not count empty skbs as errors in rx_process()
If rx_fixup() returns an empty skb (because it consumed all data inside), do
not count it as error.
This is needed for cx82310_eth. It also may allow other usbnet minidrivers'
rx_fixup() functions to be simplified (no need to leave the last packet in the
skb anymore).
Signed-off-by: Ondrej Zary <linux@...nbow-software.org>
---
The patch does not pass checkpatch.pl because the function calls match the
style used in usbnet.c.
--- linux-2.6.36-rc3-orig/drivers/net/usb/usbnet.c 2010-08-29 17:36:04.000000000 +0200
+++ linux-2.6.36-rc3/drivers/net/usb/usbnet.c 2010-09-10 20:10:10.000000000 +0200
@@ -387,17 +387,11 @@
{
if (dev->driver_info->rx_fixup &&
!dev->driver_info->rx_fixup (dev, skb))
- goto error;
- // else network stack removes extra byte if we forced a short packet
-
- if (skb->len)
- usbnet_skb_return (dev, skb);
- else {
- netif_dbg(dev, rx_err, dev->net, "drop\n");
-error:
dev->net->stats.rx_errors++;
- skb_queue_tail (&dev->done, skb);
- }
+ else if (skb->len)
+ return usbnet_skb_return (dev, skb);
+
+ skb_queue_tail (&dev->done, skb);
}
/*-------------------------------------------------------------------------*/
--
Ondrej Zary
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists