[PATCH] macb: Fix tx completion check

David Dgien via B4 Relay devnull+dgienda125.gmail.com at kernel.org
Mon Jan 27 20:16:18 PST 2025


From: David Dgien <dgienda125 at gmail.com>

Check the send completion bit for the current packet in the descriptor
ring, instead of just the first entry in the ring.

This fixes issues when sending multiple small packets in quick
succession, such as with netconsole.

Reported-by: Billy Gomez <william.james.gomez at gmail.com>
Signed-off-by: David Dgien <dgienda125 at gmail.com>
Fixes: aa2095304a ("macb: fix tx ring size")
---
 drivers/net/macb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 28c2fc860e37853a91488a675af3716d9f3843df..205e3169f17b2b762ba51640248a2ea96db5c582 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -132,7 +132,7 @@ static int macb_send(struct eth_device *edev, void *packet,
 	start = get_time_ns();
 	ret = -ETIMEDOUT;
 	do {
-		ctrl = readl(&macb->tx_ring[0].ctrl);
+		ctrl = readl(&macb->tx_ring[tx_head].ctrl);
 		if (ctrl & MACB_BIT(TX_USED)) {
 			ret = 0;
 			break;

---
base-commit: 1a3be5bdf6329e4e691f1d39461f5157767c7e72
change-id: 20250126-fix-macb-send-3600780f5de8

Best regards,
-- 
David Dgien <dgienda125 at gmail.com>





More information about the barebox mailing list