When multiple frames are sent in a batch on a Tx aggregation queue our
current firmware version does not provide the IWX_TX_CMD notification.
Older versions used to provide this (as observed on iwm(4) devices),
but our current firmware only sends IWX_BA_NOTIF.
This means we need to reset the Tx timer upon BA_NOTIF in order to
avoid a bogus "device timeout" trigger from our watchdog handler.
Do this as soon as the BA notification has been validated.
-/* $OpenBSD: if_iwx.c,v 1.110 2021/09/23 15:34:00 stsp Exp $ */
+/* $OpenBSD: if_iwx.c,v 1.111 2021/09/23 16:27:58 stsp Exp $ */
/*
* Copyright (c) 2014, 2016 genua gmbh <info@genua.de>
idx = le16toh(ba_tfd->tfd_index);
if (idx >= IWX_TX_RING_COUNT)
continue;
+ sc->sc_tx_timer = 0;
iwx_txq_advance(sc, ring, idx);
iwx_clear_oactive(sc, ring);
}