summaryrefslogtreecommitdiff
path: root/sys/dev/ic/malo.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/ic/malo.c')
-rw-r--r--sys/dev/ic/malo.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/ic/malo.c b/sys/dev/ic/malo.c
index 6a8c5646f0b..6f8d9a1e44c 100644
--- a/sys/dev/ic/malo.c
+++ b/sys/dev/ic/malo.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: malo.c,v 1.118 2018/11/09 14:14:31 claudio Exp $ */
+/* $OpenBSD: malo.c,v 1.119 2019/09/12 12:55:07 stsp Exp $ */
/*
* Copyright (c) 2006 Claudio Jeker <claudio@openbsd.org>
@@ -1593,6 +1593,7 @@ malo_tx_setup_desc(struct malo_softc *sc, struct malo_tx_desc *desc,
void
malo_rx_intr(struct malo_softc *sc)
{
+ struct mbuf_list ml = MBUF_LIST_INITIALIZER();
struct ieee80211com *ic = &sc->sc_ic;
struct ifnet *ifp = &ic->ic_if;
struct malo_rx_desc *desc;
@@ -1711,7 +1712,7 @@ malo_rx_intr(struct malo_softc *sc)
rxi.rxi_flags = 0;
rxi.rxi_rssi = desc->rssi;
rxi.rxi_tstamp = 0; /* unused */
- ieee80211_input(ifp, m, ni, &rxi);
+ ieee80211_inputm(ifp, m, ni, &rxi, &ml);
/* node is no longer needed */
ieee80211_release_node(ic, ni);
@@ -1727,6 +1728,7 @@ skip:
sc->sc_rxring.cur = (sc->sc_rxring.cur + 1) %
MALO_RX_RING_COUNT;
}
+ if_input(ifp, &ml);
malo_mem_write4(sc, sc->sc_RxPdRdPtr, rxRdPtr);
}