]> git.hungrycats.org Git - linux/commitdiff
net: vertexcom: mse102x: Fix tx_bytes calculation
authorStefan Wahren <wahrenst@gmx.net>
Fri, 8 Nov 2024 11:43:43 +0000 (12:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 22 Nov 2024 14:37:28 +0000 (15:37 +0100)
[ Upstream commit e68da664d379f352d41d7955712c44e0a738e4ab ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/vertexcom/mse102x.c

index dd766e175f7dbd181e1cff67a0d12768966bf673..8f67c39f479eef7eea447ab131c79b30b02068d9 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++;
                }