summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Belopuhov <mikeb@cvs.openbsd.org>2017-06-09 14:36:44 +0000
committerMike Belopuhov <mikeb@cvs.openbsd.org>2017-06-09 14:36:44 +0000
commiteeba01a99b460d83b322536d7bb90fbd0fc75d72 (patch)
treeef4a051f40f240279b0886e095971dde9d2731a8
parent9aed29c95dc22e90ad6095e8343968b92e502f7f (diff)
Remove a WAITOK that has sneaked in
-rw-r--r--sys/dev/pv/if_xnf.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/pv/if_xnf.c b/sys/dev/pv/if_xnf.c
index 1cdc1b297e8..35188c50bc2 100644
--- a/sys/dev/pv/if_xnf.c
+++ b/sys/dev/pv/if_xnf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_xnf.c,v 1.54 2017/03/13 01:10:03 mikeb Exp $ */
+/* $OpenBSD: if_xnf.c,v 1.55 2017/06/09 14:36:43 mikeb Exp $ */
/*
* Copyright (c) 2015, 2016 Mike Belopuhov
@@ -573,6 +573,8 @@ xnf_encap(struct xnf_softc *sc, struct mbuf *m_head, uint32_t *prod)
m_defrag(m_head, M_DONTWAIT))
goto errout;
+ flags = (sc->sc_domid << 16) | BUS_DMA_WRITE | BUS_DMA_NOWAIT;
+
for (m = m_head; m != NULL && m->m_len > 0; m = m->m_next) {
i = *prod & (XNF_TX_DESC - 1);
dmap = sc->sc_tx_dmap[i];
@@ -583,7 +585,6 @@ xnf_encap(struct xnf_softc *sc, struct mbuf *m_head, uint32_t *prod)
txr->txr_prod, *prod, *prod - oprod,
xnf_fragcount(m_head));
- flags = (sc->sc_domid << 16) | BUS_DMA_WRITE | BUS_DMA_WAITOK;
if (bus_dmamap_load(sc->sc_dmat, dmap, m->m_data, m->m_len,
NULL, flags)) {
DPRINTF("%s: failed to load %u bytes @%lu\n",