summaryrefslogtreecommitdiffstats
path: root/sys/dev/iwi/if_iwi.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2007-09-05 23:00:27 +0000
committersam <sam@FreeBSD.org>2007-09-05 23:00:27 +0000
commit527eef962e3440e0484314868471050b85af5543 (patch)
tree30f88a14d8a73fd80df1d360d6a2f9a4e091e164 /sys/dev/iwi/if_iwi.c
parent82a73bb56563ac476ef079169cb642990e0a1cc7 (diff)
downloadFreeBSD-src-527eef962e3440e0484314868471050b85af5543.zip
FreeBSD-src-527eef962e3440e0484314868471050b85af5543.tar.gz
Add missing bits that made bg scanning lame:
o update ic_lastdata to reflect time of last outbound frame o outbound traffic must preempt/cancel bg scanning to avoid delays This stuff was somehow missed in the initial import. Reviewed by: thompsa, avatar, sephe (earlier version) Approved by: re (blanket wireless)
Diffstat (limited to 'sys/dev/iwi/if_iwi.c')
-rw-r--r--sys/dev/iwi/if_iwi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/iwi/if_iwi.c b/sys/dev/iwi/if_iwi.c
index 205d66c..aaf7d1b 100644
--- a/sys/dev/iwi/if_iwi.c
+++ b/sys/dev/iwi/if_iwi.c
@@ -1917,6 +1917,11 @@ iwi_start(struct ifnet *ifp)
IFQ_DRV_DEQUEUE(&ifp->if_snd, m0);
if (m0 == NULL)
break;
+ /*
+ * Cancel any background scan.
+ */
+ if (ic->ic_flags & IEEE80211_F_SCAN)
+ ieee80211_cancel_scan(ic);
if (m0->m_len < sizeof (struct ether_header) &&
(m0 = m_pullup(m0, sizeof (struct ether_header))) == NULL) {
@@ -1978,6 +1983,7 @@ iwi_start(struct ifnet *ifp)
}
sc->sc_tx_timer = 5;
+ ic->ic_lastdata = ticks;
}
IWI_UNLOCK(sc);
OpenPOWER on IntegriCloud