aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/iwm
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2015-09-18 17:39:31 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2015-09-18 17:39:31 +0000
commit413bae20bb475f5cfd6049fd6d9a87b5100d0470 (patch)
tree2a7feed7d907a439257f584f1f297d03720e9951 /sys/dev/iwm
parent0d3d0cc3588de0467a7e499640499f8e6725d4bb (diff)
downloadsrc-413bae20bb475f5cfd6049fd6d9a87b5100d0470.tar.gz
src-413bae20bb475f5cfd6049fd6d9a87b5100d0470.zip
Ensure the ring state is also blanked upon reset, otherwise
duplicate rx events get handled during reset paths. Submitted by: Matthew Dillion <dillon@apollo.backplane.com> Obtained from: DragonflyBSD
Notes
Notes: svn path=/head/; revision=287965
Diffstat (limited to 'sys/dev/iwm')
-rw-r--r--sys/dev/iwm/if_iwm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/iwm/if_iwm.c b/sys/dev/iwm/if_iwm.c
index 46abd16ed613..cd2ccd2814f3 100644
--- a/sys/dev/iwm/if_iwm.c
+++ b/sys/dev/iwm/if_iwm.c
@@ -884,7 +884,9 @@ iwm_reset_rx_ring(struct iwm_softc *sc, struct iwm_rx_ring *ring)
(void) iwm_pcie_rx_stop(sc);
iwm_nic_unlock(sc);
}
+ /* Reset the ring state */
ring->cur = 0;
+ memset(sc->rxq.stat, 0, sizeof(*sc->rxq.stat));
}
static void