Make iwm(4) update an Rx BA session's last_rx timestamp when a frame
authorstsp <stsp@openbsd.org>
Mon, 22 Nov 2021 11:00:50 +0000 (11:00 +0000)
committerstsp <stsp@openbsd.org>
Mon, 22 Nov 2021 11:00:50 +0000 (11:00 +0000)
is received which matches the session.

Tested by myself and bket@

sys/dev/pci/if_iwm.c

index 7fd6b5c..d3e9a6e 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: if_iwm.c,v 1.381 2021/11/22 10:23:42 stsp Exp $       */
+/*     $OpenBSD: if_iwm.c,v 1.382 2021/11/22 11:00:50 stsp Exp $       */
 
 /*
  * Copyright (c) 2014, 2016 genua gmbh <info@genua.de>
@@ -5114,6 +5114,9 @@ iwm_rx_reorder(struct iwm_softc *sc, struct mbuf *m, int chanidx,
        if (rxba == NULL || tid != rxba->tid || rxba->sta_id != IWM_STATION_ID)
                return 0;
 
+       if (rxba->timeout != 0)
+               getmicrouptime(&rxba->last_rx);
+
        /* Bypass A-MPDU re-ordering in net80211. */
        rxi->rxi_flags |= IEEE80211_RXI_AMPDU_DONE;