In rtwn_tx(), check if the OWN bit of Tx instead of Rx is set. Luckily, definitions of R92C_TXDW0_OWN and R92C_RXDW0_OWN are the same.
ok? Index: sys/dev/pci/if_rtwn.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_rtwn.c,v retrieving revision 1.40 diff -u -p -u -p -r1.40 if_rtwn.c --- sys/dev/pci/if_rtwn.c 21 Apr 2022 21:03:03 -0000 1.40 +++ sys/dev/pci/if_rtwn.c 14 Jul 2023 06:43:06 -0000 @@ -1022,7 +1022,7 @@ rtwn_tx(void *cookie, struct mbuf *m, st /* Fill Tx descriptor. */ txd = &tx_ring->desc[tx_ring->cur]; - if (htole32(txd->txdw0) & R92C_RXDW0_OWN) { + if (htole32(txd->txdw0) & R92C_TXDW0_OWN) { m_freem(m); return (ENOBUFS); }