summaryrefslogtreecommitdiffstats
path: root/sys/net80211
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2012-12-22 01:17:49 +0000
committeradrian <adrian@FreeBSD.org>2012-12-22 01:17:49 +0000
commit0d3b266bb9fe819afa4a401d0518254eb5fe1efb (patch)
treed8b8cc6aefb713798bc259ba7fc58efb47598d12 /sys/net80211
parent60bdcd31a70d1d37eccc86bb935f0ce41cc8a200 (diff)
downloadFreeBSD-src-0d3b266bb9fe819afa4a401d0518254eb5fe1efb.zip
FreeBSD-src-0d3b266bb9fe819afa4a401d0518254eb5fe1efb.tar.gz
if_start() is being used here as a way of kick-starting the new queue
processing. For if_transmit() style hardware drivers (which none publicly exist yet, for wireless) they will need to still implement if_start() but only to re-start the TX queue.
Diffstat (limited to 'sys/net80211')
-rw-r--r--sys/net80211/ieee80211_proto.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c
index 5ef358e..3a2b5c7 100644
--- a/sys/net80211/ieee80211_proto.c
+++ b/sys/net80211/ieee80211_proto.c
@@ -1787,6 +1787,11 @@ ieee80211_newstate_cb(void *xvap, int npending)
IF_LOCK(&vap->iv_ifp->if_snd);
vap->iv_ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
IF_UNLOCK(&vap->iv_ifp->if_snd);
+
+ /*
+ * XXX Kick-start a VAP queue - this should be a method,
+ * not if_start()!
+ */
if_start(vap->iv_ifp);
/* bring up any vaps waiting on us */
OpenPOWER on IntegriCloud