This prevents a bogus "device timeout" if firmware sends a IWM_BA_NOTIF
instead of IWM_TX_CMD in order to let us know that a frame has been sent
on a Tx aggregation queue. Such behaviour was observed on iwx(4), and there
is reason to believe that iwm(4) might also be affected by this issue.
Tested by Jean-Michel Bessot on 7265 via bugs@ where this change seems
to prevent random device timeouts.
Tested by myself on 8265 with no apparent behaviour change seen.
-/* $OpenBSD: if_iwm.c,v 1.367 2021/09/08 13:06:23 stsp Exp $ */
+/* $OpenBSD: if_iwm.c,v 1.368 2021/09/24 19:02:16 stsp Exp $ */
/*
* Copyright (c) 2014, 2016 genua gmbh <info@genua.de>
if (qid != IWM_FIRST_AGG_TX_QUEUE + ban->tid)
return;
+ sc->sc_tx_timer = 0;
+
ba = &ni->ni_tx_ba[ban->tid];
if (ba->ba_state != IEEE80211_BA_AGREED)
return;