Skip to contentSkip to conversation

macb: Fix tx completion check

PATCH Applied David Dgien 2 participants 2 messages Jan 28, 2025 Network drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 macb: Fix tx completion check

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.

Fixes aa2095304a ("macb: fix tx ring size")
---
 drivers/net/macb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/macb.c +1 -1
index 28c2fc860e37853a91488a675af3716d9f3843df..205e3169f17b2b762ba51640248a2ea96db5c582 100644
@@ -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,

Signature · 1 line
David Dgien <[email protected]>
Applied
#1 lore raw
Quoted 8 lines · David Dgien

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.

[...]

Applied, thanks!

[1/1] macb: Fix tx completion check
https://git.pengutronix.de/cgit/barebox/commit/?id=b661aa5ba735 (link may not be stable)

Best regards,

Signature · 1 line
Sascha Hauer <[email protected]>