Index | Thread | Search

From:
Stefan Sperling <stsp@stsp.name>
Subject:
Re: bge/bnx/iavf/igc/ix/ixl/ngbe/pcn: ifq_restart() fix
To:
Hrvoje Popovski <hrvoje@srce.hr>
Cc:
Alexander Bluhm <bluhm@openbsd.org>, tech@openbsd.org
Date:
Thu, 26 Jun 2025 15:07:10 +0200

Download raw body.

Thread
On Thu, Jun 26, 2025 at 02:39:11PM +0200, Hrvoje Popovski wrote:
> I've tested this diff with plain forwarding over bnxt and it seems to
> work just fine.

While the diff changes bnx(4), it does not change bnxt(4).

bxnt already contains the required check:

int
bnxt_intr(void *xq)
{
[...]
	txfree = 0;
[...]

		case CMPL_BASE_TYPE_TX_L2:
			if (ISSET(ifp->if_flags, IFF_RUNNING))
				bnxt_txeof(sc, tx, &txfree, cmpl);
			break;

[...]
	if (txfree != 0) {
		if (ifq_is_oactive(tx->tx_ifq))
			ifq_restart(tx->tx_ifq);
	}