Date: Sun, 26 Apr 2009 03:55:09 +0000 (UTC) From: Andrew Thompson <thompsa@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r191507 - in user/thompsa/vaptq/sys: dev/usb/wlan net80211 Message-ID: <200904260355.n3Q3t9vP071547@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: thompsa Date: Sun Apr 26 03:55:08 2009 New Revision: 191507 URL: http://svn.freebsd.org/changeset/base/191507 Log: Wrap the taskqueue_* calls in net80211 inlines. Modified: user/thompsa/vaptq/sys/dev/usb/wlan/if_rum.c user/thompsa/vaptq/sys/dev/usb/wlan/if_ural.c user/thompsa/vaptq/sys/net80211/ieee80211.c user/thompsa/vaptq/sys/net80211/ieee80211_freebsd.h user/thompsa/vaptq/sys/net80211/ieee80211_ioctl.c user/thompsa/vaptq/sys/net80211/ieee80211_node.c user/thompsa/vaptq/sys/net80211/ieee80211_proto.c user/thompsa/vaptq/sys/net80211/ieee80211_scan.c user/thompsa/vaptq/sys/net80211/ieee80211_scan_sta.c user/thompsa/vaptq/sys/net80211/ieee80211_var.h Modified: user/thompsa/vaptq/sys/dev/usb/wlan/if_rum.c ============================================================================== --- user/thompsa/vaptq/sys/dev/usb/wlan/if_rum.c Sun Apr 26 02:44:41 2009 (r191506) +++ user/thompsa/vaptq/sys/dev/usb/wlan/if_rum.c Sun Apr 26 03:55:08 2009 (r191507) @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include <sys/bus.h> #include <sys/endian.h> #include <sys/kdb.h> -#include <sys/taskqueue.h> #include <machine/bus.h> #include <machine/resource.h> @@ -636,7 +635,7 @@ rum_vap_delete(struct ieee80211vap *vap) struct ieee80211com *ic = vap->iv_ic; usb2_callout_drain(&rvp->amrr_ch); - taskqueue_drain(ic->ic_tq, &rvp->amrr_task); + ieee80211_draintask(ic, &rvp->amrr_task); ieee80211_amrr_cleanup(&rvp->amrr); ieee80211_vap_detach(vap); free(rvp, M_80211_VAP); @@ -2199,7 +2198,7 @@ rum_amrr_timeout(void *arg) struct ieee80211vap *vap = &rvp->vap; struct ieee80211com *ic = vap->iv_ic; - taskqueue_enqueue(ic->ic_tq, &rvp->amrr_task); + ieee80211_runtask(ic, &rvp->amrr_task); } static void Modified: user/thompsa/vaptq/sys/dev/usb/wlan/if_ural.c ============================================================================== --- user/thompsa/vaptq/sys/dev/usb/wlan/if_ural.c Sun Apr 26 02:44:41 2009 (r191506) +++ user/thompsa/vaptq/sys/dev/usb/wlan/if_ural.c Sun Apr 26 03:55:08 2009 (r191507) @@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$"); #include <sys/bus.h> #include <sys/endian.h> #include <sys/kdb.h> -#include <sys/taskqueue.h> #include <machine/bus.h> #include <machine/resource.h> @@ -627,7 +626,7 @@ ural_vap_delete(struct ieee80211vap *vap struct ieee80211com *ic = vap->iv_ic; usb2_callout_drain(&uvp->amrr_ch); - taskqueue_drain(ic->ic_tq, &uvp->amrr_task); + ieee80211_draintask(ic, &uvp->amrr_task); ieee80211_amrr_cleanup(&uvp->amrr); ieee80211_vap_detach(vap); free(uvp, M_80211_VAP); @@ -2244,7 +2243,7 @@ ural_amrr_timeout(void *arg) struct ieee80211vap *vap = &uvp->vap; struct ieee80211com *ic = vap->iv_ic; - taskqueue_enqueue(ic->ic_tq, &uvp->amrr_task); + ieee80211_runtask(ic, &uvp->amrr_task); } static void Modified: user/thompsa/vaptq/sys/net80211/ieee80211.c ============================================================================== --- user/thompsa/vaptq/sys/net80211/ieee80211.c Sun Apr 26 02:44:41 2009 (r191506) +++ user/thompsa/vaptq/sys/net80211/ieee80211.c Sun Apr 26 03:55:08 2009 (r191507) @@ -35,7 +35,6 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> -#include <sys/taskqueue.h> #include <sys/socket.h> @@ -568,8 +567,8 @@ ieee80211_vap_detach(struct ieee80211vap * Flush any deferred vap tasks. * NB: must be before ether_ifdetach() and removal from ic_vaps list */ - taskqueue_drain(ic->ic_tq, &vap->iv_nstate_task); - taskqueue_drain(ic->ic_tq, &vap->iv_swbmiss_task); + ieee80211_draintask(ic, &vap->iv_nstate_task); + ieee80211_draintask(ic, &vap->iv_swbmiss_task); IEEE80211_LOCK(ic); KASSERT(vap->iv_state == IEEE80211_S_INIT , ("vap still running")); @@ -645,11 +644,9 @@ ieee80211_syncifflag_locked(struct ieee8 /* XXX should we return 1/0 and let caller do this? */ if (ifp->if_drv_flags & IFF_DRV_RUNNING) { if (flag == IFF_PROMISC) - taskqueue_enqueue(ic->ic_tq, - &ic->ic_promisc_task); + ieee80211_runtask(ic, &ic->ic_promisc_task); else if (flag == IFF_ALLMULTI) - taskqueue_enqueue(ic->ic_tq, - &ic->ic_mcast_task); + ieee80211_runtask(ic, &ic->ic_mcast_task); } } } Modified: user/thompsa/vaptq/sys/net80211/ieee80211_freebsd.h ============================================================================== --- user/thompsa/vaptq/sys/net80211/ieee80211_freebsd.h Sun Apr 26 02:44:41 2009 (r191506) +++ user/thompsa/vaptq/sys/net80211/ieee80211_freebsd.h Sun Apr 26 03:55:08 2009 (r191507) @@ -32,6 +32,7 @@ #include <sys/lock.h> #include <sys/mutex.h> #include <sys/rwlock.h> +#include <sys/taskqueue.h> /* * Common state locking definitions. Modified: user/thompsa/vaptq/sys/net80211/ieee80211_ioctl.c ============================================================================== --- user/thompsa/vaptq/sys/net80211/ieee80211_ioctl.c Sun Apr 26 02:44:41 2009 (r191506) +++ user/thompsa/vaptq/sys/net80211/ieee80211_ioctl.c Sun Apr 26 03:55:08 2009 (r191507) @@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socket.h> #include <sys/sockio.h> #include <sys/systm.h> -#include <sys/taskqueue.h> #include <net/if.h> #include <net/if_dl.h> Modified: user/thompsa/vaptq/sys/net80211/ieee80211_node.c ============================================================================== --- user/thompsa/vaptq/sys/net80211/ieee80211_node.c Sun Apr 26 02:44:41 2009 (r191506) +++ user/thompsa/vaptq/sys/net80211/ieee80211_node.c Sun Apr 26 03:55:08 2009 (r191507) @@ -34,7 +34,6 @@ __FBSDID("$FreeBSD$"); #include <sys/mbuf.h> #include <sys/malloc.h> #include <sys/kernel.h> -#include <sys/taskqueue.h> #include <sys/socket.h> @@ -661,7 +660,7 @@ ieee80211_setcurchan(struct ieee80211com * The channel change is guaranteed to have happened before the next * state change */ - taskqueue_enqueue(ic->ic_tq, &ic->ic_chan_task); + ieee80211_runtask(ic, &ic->ic_chan_task); } /* Modified: user/thompsa/vaptq/sys/net80211/ieee80211_proto.c ============================================================================== --- user/thompsa/vaptq/sys/net80211/ieee80211_proto.c Sun Apr 26 02:44:41 2009 (r191506) +++ user/thompsa/vaptq/sys/net80211/ieee80211_proto.c Sun Apr 26 03:55:08 2009 (r191507) @@ -37,7 +37,6 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <sys/kernel.h> #include <sys/systm.h> -#include <sys/taskqueue.h> #include <sys/socket.h> #include <sys/sockio.h> @@ -1120,11 +1119,11 @@ update_channel(void *arg, int npending) void ieee80211_waitfor_parent(struct ieee80211com *ic) { - taskqueue_drain(ic->ic_tq, &ic->ic_parent_task); - taskqueue_drain(ic->ic_tq, &ic->ic_mcast_task); - taskqueue_drain(ic->ic_tq, &ic->ic_promisc_task); - taskqueue_drain(ic->ic_tq, &ic->ic_chan_task); - taskqueue_drain(ic->ic_tq, &ic->ic_bmiss_task); + ieee80211_draintask(ic, &ic->ic_parent_task); + ieee80211_draintask(ic, &ic->ic_mcast_task); + ieee80211_draintask(ic, &ic->ic_promisc_task); + ieee80211_draintask(ic, &ic->ic_chan_task); + ieee80211_draintask(ic, &ic->ic_bmiss_task); } /* @@ -1165,7 +1164,7 @@ ieee80211_start_locked(struct ieee80211v IEEE80211_MSG_STATE | IEEE80211_MSG_DEBUG, "%s: up parent %s\n", __func__, parent->if_xname); parent->if_flags |= IFF_UP; - taskqueue_enqueue(ic->ic_tq, &ic->ic_parent_task); + ieee80211_runtask(ic, &ic->ic_parent_task); return; } } @@ -1284,7 +1283,7 @@ ieee80211_stop_locked(struct ieee80211va IEEE80211_MSG_STATE | IEEE80211_MSG_DEBUG, "down parent %s\n", parent->if_xname); parent->if_flags &= ~IFF_UP; - taskqueue_enqueue(ic->ic_tq, &ic->ic_parent_task); + ieee80211_runtask(ic, &ic->ic_parent_task); } } } @@ -1366,7 +1365,7 @@ ieee80211_beacon_miss(struct ieee80211co IEEE80211_LOCK(ic); if ((ic->ic_flags & IEEE80211_F_SCAN) == 0) { /* Process in a taskq, the handler may reenter the driver */ - taskqueue_enqueue(ic->ic_tq, &ic->ic_bmiss_task); + ieee80211_runtask(ic, &ic->ic_bmiss_task); } IEEE80211_UNLOCK(ic); } @@ -1432,7 +1431,7 @@ ieee80211_swbmiss(void *arg) vap->iv_swbmiss_count = 0; } else if (vap->iv_swbmiss_count == 0) { if (vap->iv_bmiss != NULL) - taskqueue_enqueue(ic->ic_tq, &vap->iv_swbmiss_task); + ieee80211_runtask(ic, &vap->iv_swbmiss_task); if (vap->iv_bmiss_count == 0) /* don't re-arm timer */ return; } else @@ -1820,7 +1819,7 @@ ieee80211_new_state_locked(struct ieee80 /* defer the state change to a thread */ vap->iv_nstate = nstate; vap->iv_nstate_arg = arg; - taskqueue_enqueue(ic->ic_tq, &vap->iv_nstate_task); + ieee80211_runtask(ic, &vap->iv_nstate_task); return (EINPROGRESS); } Modified: user/thompsa/vaptq/sys/net80211/ieee80211_scan.c ============================================================================== --- user/thompsa/vaptq/sys/net80211/ieee80211_scan.c Sun Apr 26 02:44:41 2009 (r191506) +++ user/thompsa/vaptq/sys/net80211/ieee80211_scan.c Sun Apr 26 03:55:08 2009 (r191507) @@ -35,7 +35,6 @@ __FBSDID("$FreeBSD$"); #include <sys/systm.h> #include <sys/proc.h> #include <sys/kernel.h> -#include <sys/taskqueue.h> #include <sys/condvar.h> #include <sys/socket.h> @@ -131,7 +130,7 @@ ieee80211_scan_detach(struct ieee80211co SCAN_PRIVATE(ss)->ss_iflags |= ISCAN_ABORT; scan_signal(ss); IEEE80211_UNLOCK(ic); - taskqueue_drain(ic->ic_tq, &SCAN_PRIVATE(ss)->ss_scan_task); + ieee80211_draintask(ic, &SCAN_PRIVATE(ss)->ss_scan_task); KASSERT((ic->ic_flags & IEEE80211_F_SCAN) == 0, ("scan still running")); if (ss->ss_ops != NULL) { @@ -428,8 +427,7 @@ start_scan_locked(const struct ieee80211 scan_dump(ss); #endif /* IEEE80211_DEBUG */ ic->ic_flags |= IEEE80211_F_SCAN; - taskqueue_enqueue(ic->ic_tq, - &SCAN_PRIVATE(ss)->ss_scan_task); + ieee80211_runtask(ic, &SCAN_PRIVATE(ss)->ss_scan_task); } } else { IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN, @@ -655,8 +653,7 @@ ieee80211_bg_scan(struct ieee80211vap *v ss->ss_maxdwell = duration; ic->ic_flags |= IEEE80211_F_SCAN; ic->ic_flags_ext |= IEEE80211_FEXT_BGSCAN; - taskqueue_enqueue(ic->ic_tq, - &SCAN_PRIVATE(ss)->ss_scan_task); + ieee80211_runtask(ic, &SCAN_PRIVATE(ss)->ss_scan_task); } else { /* XXX msg+stat */ } @@ -992,7 +989,7 @@ scan_task(void *arg, int pending) vap->iv_stats.is_scan_passive++; ss->ss_ops->scan_restart(ss, vap); /* XXX? */ - taskqueue_enqueue(ic->ic_tq, &SCAN_PRIVATE(ss)->ss_scan_task); + ieee80211_runtask(ic, &SCAN_PRIVATE(ss)->ss_scan_task); IEEE80211_UNLOCK(ic); return; } Modified: user/thompsa/vaptq/sys/net80211/ieee80211_scan_sta.c ============================================================================== --- user/thompsa/vaptq/sys/net80211/ieee80211_scan_sta.c Sun Apr 26 02:44:41 2009 (r191506) +++ user/thompsa/vaptq/sys/net80211/ieee80211_scan_sta.c Sun Apr 26 03:55:08 2009 (r191507) @@ -35,7 +35,6 @@ __FBSDID("$FreeBSD$"); #include <sys/systm.h> #include <sys/kernel.h> #include <sys/module.h> -#include <sys/taskqueue.h> #include <sys/socket.h> @@ -1641,7 +1640,7 @@ ap_force_promisc(struct ieee80211com *ic IEEE80211_LOCK(ic); /* set interface into promiscuous mode */ ifp->if_flags |= IFF_PROMISC; - taskqueue_enqueue(ic->ic_tq, &ic->ic_promisc_task); + ieee80211_runtask(ic, &ic->ic_promisc_task); IEEE80211_UNLOCK(ic); } Modified: user/thompsa/vaptq/sys/net80211/ieee80211_var.h ============================================================================== --- user/thompsa/vaptq/sys/net80211/ieee80211_var.h Sun Apr 26 02:44:41 2009 (r191506) +++ user/thompsa/vaptq/sys/net80211/ieee80211_var.h Sun Apr 26 03:55:08 2009 (r191507) @@ -629,6 +629,24 @@ struct ieee80211_channel *ieee80211_find int ieee80211_setmode(struct ieee80211com *, enum ieee80211_phymode); enum ieee80211_phymode ieee80211_chan2mode(const struct ieee80211_channel *); +/* + * Enqueue a task on the state thread. + */ +static __inline void +ieee80211_runtask(struct ieee80211com *ic, struct task *task) +{ + taskqueue_enqueue(ic->ic_tq, task); +} + +/* + * Wait for a queued task to complete. + */ +static __inline void +ieee80211_draintask(struct ieee80211com *ic, struct task *task) +{ + taskqueue_drain(ic->ic_tq, task); +} + /* * Key update synchronization methods. XXX should not be visible. */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904260355.n3Q3t9vP071547>