summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryasuoka <yasuoka@openbsd.org>2019-10-02 04:51:34 +0000
committeryasuoka <yasuoka@openbsd.org>2019-10-02 04:51:34 +0000
commit65ab43f212c4303a90ca75e3b5abf28c3c4a56b8 (patch)
treec5ce1b28036ee9e7058001dc2a35e3691a5d51dd
parentsync (diff)
downloadwireguard-openbsd-65ab43f212c4303a90ca75e3b5abf28c3c4a56b8.tar.xz
wireguard-openbsd-65ab43f212c4303a90ca75e3b5abf28c3c4a56b8.zip
When dequeuing an aqb from the live queue and move it to the idle queue,
remove it from the live queue. Found by Shoichi Yamaguchi. ok dlg
-rw-r--r--sys/dev/pci/if_ixl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/pci/if_ixl.c b/sys/dev/pci/if_ixl.c
index f5c41ae053d..7aeebb96fee 100644
--- a/sys/dev/pci/if_ixl.c
+++ b/sys/dev/pci/if_ixl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ixl.c,v 1.44 2019/09/30 06:25:01 dlg Exp $ */
+/* $OpenBSD: if_ixl.c,v 1.45 2019/10/02 04:51:34 yasuoka Exp $ */
/*
* Copyright (c) 2013-2015, Intel Corporation
@@ -2961,6 +2961,7 @@ ixl_arq(void *xsc)
iaq = &arq[cons];
aqb = SIMPLEQ_FIRST(&sc->sc_arq_live);
+ SIMPLEQ_REMOVE_HEAD(&sc->sc_arq_live, aqb_entry);
bus_dmamap_sync(sc->sc_dmat, aqb->aqb_map, 0, IXL_AQ_BUFLEN,
BUS_DMASYNC_POSTREAD);