]> Pileus Git - ~andy/linux/commit
net: usbnet: fix tx_dropped statistics
authorBjørn Mork <bjorn@mork.no>
Thu, 31 Jan 2013 08:36:05 +0000 (08:36 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Feb 2013 18:07:31 +0000 (13:07 -0500)
commitbf414b369f158bb527f9f29174ada815f961b44c
tree96349391731e44d9ba6fb2b6d4bea70d03277230
parent5f1e942cb45d06968b0ce94472d97014e0e1fdc9
net: usbnet: fix tx_dropped statistics

It is normal for minidrivers accumulating frames to return NULL
from their tx_fixup function. We do not want to count this as a
drop, or log any debug messages.  A different exit path is
therefore chosen for such drivers, skipping the debug message
and the tx_dropped increment.

The test for accumulating drivers was however completely bogus,
making the exit path selection depend on whether the user had
enabled tx_err logging or not. This would arbitrarily mess up
accounting for both accumulating and non-accumulating minidrivers,
and would result in unwanted debug messages for the accumulating
drivers.

Fix by testing for FLAG_MULTI_PACKET instead, which probably was
the intention from the beginning.  This usage match the documented
behaviour of this flag:

 Indicates to usbnet, that USB driver accumulates multiple IP packets.
 Affects statistic (counters) and short packet handling.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/usbnet.c