]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: vertexcom: mse102x: Fix tx_bytes calculation
authorStefan Wahren <wahrenst@gmx.net>
Fri, 8 Nov 2024 11:43:43 +0000 (12:43 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 9 Nov 2024 21:41:17 +0000 (13:41 -0800)
The tx_bytes should consider the actual size of the Ethernet frames
without the SPI encapsulation. But we still need to take care of
Ethernet padding.

Fixes: 2f207cbf0dd4 ("net: vertexcom: Add MSE102x SPI support")
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Link: https://patch.msgid.link/20241108114343.6174-3-wahrenst@gmx.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/vertexcom/mse102x.c

index 2c37957478fb08537c65325e796301ea01169584..89dc4c401a8de45d84e03263a393dc71f2283c1b 100644 (file)
@@ -437,13 +437,15 @@ static void mse102x_tx_work(struct work_struct *work)
        mse = &mses->mse102x;
 
        while ((txb = skb_dequeue(&mse->txq))) {
+               unsigned int len = max_t(unsigned int, txb->len, ETH_ZLEN);
+
                mutex_lock(&mses->lock);
                ret = mse102x_tx_pkt_spi(mse, txb, work_timeout);
                mutex_unlock(&mses->lock);
                if (ret) {
                        mse->ndev->stats.tx_dropped++;
                } else {
-                       mse->ndev->stats.tx_bytes += txb->len;
+                       mse->ndev->stats.tx_bytes += len;
                        mse->ndev->stats.tx_packets++;
                }