Re: [PATCH net v1 1/1] net: fec: Fix Transmitted bytes counter
From: Jim Baxter <hidden>
Date: 2013-07-02 08:32:38
On 01/07/13 21:40, David Miller wrote:
From: Duan Fugang-B38611 <redacted> Date: Fri, 28 Jun 2013 02:11:30 +0000quoted
On 06/28/13 02:25, Jim Baxter wrote:quoted
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index ed6180e..05a5f76 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c@@ -738,6 +738,7 @@ fec_enet_tx(struct net_device *ndev) ndev->stats.tx_carrier_errors++; } else { ndev->stats.tx_packets++; + ndev->stats.tx_bytes += bdp->cbd_datlen; } if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_IN_PROGRESS) && --You cannot stat. tx_bytes in here, since stat.tx_bytes indicate that all bytes sent by MAC regardless whether there have error packets or not. You must add the stat. at xmit function as below:I completely disagree. tx_bytes indicates what actually made it to the wires, so Jim's original patch is the correct one. Every single driver I have ever written, always increments tx_bytes in the transmit completion handler, not when the device layer gives the packet to the driver.
If this should be the first version of the patch, can I cancel the second version and set the first version to new in patchwork, or is it best to submit a third version? Thank you, Jim