From cd196bb2d5d9b70f06c647d2620dc346a8307aa9 Mon Sep 17 00:00:00 2001 From: Sam Leffler Date: Mon, 5 Mar 2007 21:53:49 +0000 Subject: [PATCH] Kick tx after processing rx'd frames; this fixes latency issues for processing frames from the power save queue when operating in ap mode. This is especially noticeable for realtime data going to devices like voip phones. Submitted by: "J.R. Oldroyd" MFC after: 2 weeks --- sys/dev/ath/if_ath.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index 596c13dacef..3a290730803 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -3170,6 +3170,11 @@ rx_next: if (ngood) sc->sc_lastrx = tsf; + /* NB: may want to check mgtq too */ + if ((ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0 && + !IFQ_IS_EMPTY(&ifp->if_snd)) + ath_start(ifp); + NET_UNLOCK_GIANT(); /* XXX */ #undef PA2DESC }