svn commit: r195286 - projects/mesh11s/sys/net80211

Rui Paulo rpaulo at FreeBSD.org
Thu Jul 2 14:54:49 UTC 2009


Author: rpaulo
Date: Thu Jul  2 14:54:48 2009
New Revision: 195286
URL: http://svn.freebsd.org/changeset/base/195286

Log:
  * use callout_drain instead of callout_stop
  * constify
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/mesh11s/sys/net80211/ieee80211_hwmp.c
  projects/mesh11s/sys/net80211/ieee80211_hwmp.h

Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c
==============================================================================
--- projects/mesh11s/sys/net80211/ieee80211_hwmp.c	Thu Jul  2 14:19:33 2009	(r195285)
+++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c	Thu Jul  2 14:54:48 2009	(r195286)
@@ -252,8 +252,8 @@ ieee80211_hwmp_vdetach(struct ieee80211v
 	struct ieee80211_hwmp_state *hs = vap->iv_hwmp;
 
 	hwmp_rt_flush(vap);
-	if (callout_pending(&hs->hs_roottimer))
-		callout_stop(&hs->hs_roottimer);
+	if (callout_active(&hs->hs_roottimer))
+		callout_drain(&hs->hs_roottimer);
 	mtx_destroy(&hs->hs_lock);
 	free(vap->iv_hwmp, M_80211_HWMP);
 } 
@@ -267,8 +267,8 @@ ieee80211_hwmp_newstate(struct ieee80211
 	/* Flush the table on INIT -> SCAN, e.g. interface down & up */
 	if (nstate == IEEE80211_S_SCAN && ostate == IEEE80211_S_INIT) {
 		hwmp_rt_flush(vap);
-		if (callout_pending(&hs->hs_roottimer))
-			callout_stop(&hs->hs_roottimer);
+		if (callout_active(&hs->hs_roottimer))
+			callout_drain(&hs->hs_roottimer);
 	}
 	return 0;
 }
@@ -678,13 +678,9 @@ hwmp_recv_preq(struct ieee80211vap *vap,
 		 * Build the reverse path, if we don't have it already.
 		 */
 		rt = hwmp_rt_find(vap, preq->preq_origaddr);
-		if (rt == NULL) {
-			/* XXX __packed requires this */
-			uint8_t dest[IEEE80211_ADDR_LEN];
-
-			IEEE80211_ADDR_COPY(dest, preq->preq_origaddr);
-			ieee80211_hwmp_discover(vap, dest, NULL);
-		} else if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr))
+		if (rt == NULL)
+			ieee80211_hwmp_discover(vap, preq->preq_origaddr, NULL);
+		else if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr))
 			ieee80211_hwmp_discover(vap, rt->rt_dest, NULL);
 		return;
 	}
@@ -1166,7 +1162,7 @@ hwmp_send_rann(struct ieee80211_node *ni
 #define	PREQ_TSEQ(n)	preq.preq_targets[n].target_seq
 struct ieee80211_node *
 ieee80211_hwmp_discover(struct ieee80211vap *vap,
-    uint8_t dest[IEEE80211_ADDR_LEN], struct mbuf *m)
+    const uint8_t dest[IEEE80211_ADDR_LEN], struct mbuf *m)
 {
 	struct ieee80211_hwmp_state *hs = vap->iv_hwmp;
 	struct ieee80211_hwmp_route *rt = NULL;

Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.h
==============================================================================
--- projects/mesh11s/sys/net80211/ieee80211_hwmp.h	Thu Jul  2 14:19:33 2009	(r195285)
+++ projects/mesh11s/sys/net80211/ieee80211_hwmp.h	Thu Jul  2 14:54:48 2009	(r195286)
@@ -77,7 +77,7 @@ void		ieee80211_hwmp_recv_action(struct 
     struct ieee80211_node *, struct mbuf *);
 struct ieee80211_node *
 		ieee80211_hwmp_discover(struct ieee80211vap *,
-    uint8_t [IEEE80211_ADDR_LEN], struct mbuf *);
+    const uint8_t [IEEE80211_ADDR_LEN], struct mbuf *);
 struct ieee80211_node *
 		ieee80211_hwmp_find_txnode(struct ieee80211vap *vap,
     uint8_t dest[IEEE80211_ADDR_LEN]);


More information about the svn-src-projects mailing list