summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2007-03-14 08:23:10 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2007-03-14 08:23:10 +0000
commit370aac902df18c19faadc4ba087ea81ab2d53a7b (patch)
tree714165eb4397f6c6d841ccc39dee594889d8c2f3
parent3c260e9b56b4d3503560e387c4c91725a28c610a (diff)
Call ifp->if_start() at the end of the rx interrupt handling just in case
ieee80211_input() enqueued a packet beforehand. malo(4) does not support hostap mode so this should not happen but perhaps mglocker@ gets it working someday. OK mglocker@
-rw-r--r--sys/dev/ic/malo.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/ic/malo.c b/sys/dev/ic/malo.c
index 8e92ead659f..fcf61155b37 100644
--- a/sys/dev/ic/malo.c
+++ b/sys/dev/ic/malo.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: malo.c,v 1.63 2007/02/14 20:52:26 mglocker Exp $ */
+/* $OpenBSD: malo.c,v 1.64 2007/03/14 08:23:09 claudio Exp $ */
/*
* Copyright (c) 2006 Claudio Jeker <claudio@openbsd.org>
@@ -1773,6 +1773,13 @@ skip:
}
malo_mem_write4(sc, sc->sc_RxPdRdPtr, rxRdPtr);
+
+ /*
+ * In HostAP mode, ieee80211_input() will enqueue packets in if_snd
+ * without calling if_start().
+ */
+ if (!IFQ_IS_EMPTY(&ifp->if_snd) && !(ifp->if_flags & IFF_OACTIVE))
+ (*ifp->if_start)(ifp);
}
int