From 370aac902df18c19faadc4ba087ea81ab2d53a7b Mon Sep 17 00:00:00 2001 From: Claudio Jeker Date: Wed, 14 Mar 2007 08:23:10 +0000 Subject: 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@ --- sys/dev/ic/malo.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'sys/dev/ic') 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 @@ -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 -- cgit v1.2.3