Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> writes: > cdc_ncm disagrees with usbnet about how much framing overhead should > be counted in the tx_bytes statistics, and tries 'fix' this by > decrementing tx_bytes on the transmit path. But statistics must never > be decremented except due to roll-over; this will thoroughly confuse > user-space. Also, tx_bytes is only incremented by usbnet in the > completion path. > > Fix this by requiring drivers that set FLAG_MULTI_FRAME to set a > tx_bytes delta along with the tx_packets count. > > Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> > --- > I noticed this bug while trying to fix the tx_packets statistic in asix. > It depends on the patch I just sent for that. I don't have any hardware > to test this with, or any need to make it work. If you want this fix, > please test and re-submit it yoursef. I tested this on an MBIM device, and it worked perfectly as-is. Please submit it without the RFC prefix. This fixes a real and reported problem with the cdc_ncm driver, so I'd claim it's "net" material along with a stable Cc and Fixes: beeecd42c3b4 ("net: cdc_ncm/cdc_mbim: adding NCM protocol statistics") But you and David decide that, of course... Fixing this was actually on my TODO-list after a recent report showing one of the problems with the previous hack: The decremented tx_bytes counter was never corrected if the URB transmission failed, possibly ending up with a negative (i.e. very large since it is unsigned) tx_bytes counter. Thanks a lot. I didn't know how to do this without introducing a new callback or something. Your solutions is very nice, and so obvious when I see it. Just brilliant :-) Tested-by: Bjørn Mork <bjorn@xxxxxxx> And you might also want (if this is OK for Sami): Reported-by: Sami Farin <hvtaifwkbgefbaei@xxxxxxxxx> Sami wrote: > I have this USB ID 12d1:157d, Sonera Opengate LTE. > It says all is okay but no packets are moving. .. > ifconfig > wwp3s0u1c2: flags=4291<UP,BROADCAST,RUNNING,NOARP,MULTICAST> mtu 1500 > inet 46.132.188.224 netmask 255.255.255.192 broadcast 46.132.188.255 > inet6 fe80:: prefixlen 64 scopeid 0x20<link> > ether 32:35:3a:64:2e:25 txqueuelen 1000 (Ethernet) > RX packets 0 bytes 0 (0.0 B) > RX errors 17764 dropped 0 overruns 0 frame 0 > TX packets 6714 bytes 18446744073709268911 (1638.3 PiB) > TX errors 1427 dropped 0 overruns 0 carrier 0 collisions 0 > Bjørn -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html