PERFORCE change 135186 for review

Sepherosa Ziehau sephe at FreeBSD.org
Sun Feb 10 19:08:34 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=135186

Change 135186 by sephe at sephe_zealot:sam_wifi on 2008/02/11 03:07:52

	Promote change_channel() in ieee80211_scan.c to public interface
	ieee80211_set_channel(); more things would be done in this function

Affected files ...

.. //depot/projects/wifi/sys/net80211/ieee80211.c#62 edit
.. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#89 edit
.. //depot/projects/wifi/sys/net80211/ieee80211_node.c#99 edit
.. //depot/projects/wifi/sys/net80211/ieee80211_proto.c#65 edit
.. //depot/projects/wifi/sys/net80211/ieee80211_scan.c#20 edit
.. //depot/projects/wifi/sys/net80211/ieee80211_var.h#64 edit

Differences ...

==== //depot/projects/wifi/sys/net80211/ieee80211.c#62 (text+ko) ====

@@ -1225,3 +1225,10 @@
 		ieeerates[IFM_SUBTYPE(mword)] : 0;
 #undef N
 }
+
+void
+ieee80211_set_channel(struct ieee80211com *ic, struct ieee80211_channel *c)
+{
+	ic->ic_curchan = c;
+	ic->ic_set_channel(ic);
+}

==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#89 (text+ko) ====

@@ -1757,9 +1757,10 @@
 		/*
 		 * Monitor and wds modes can switch directly.
 		 */
-		ic->ic_curchan = ic->ic_des_chan;
 		if (ic->ic_state == IEEE80211_S_RUN)
-			ic->ic_set_channel(ic);
+			ieee80211_set_channel(ic, ic->ic_des_chan);
+		else
+			ic->ic_curchan = ic->ic_des_chan;
 	} else {
 		/*
 		 * Need to go through the state machine in case we

==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#99 (text+ko) ====

@@ -542,9 +542,8 @@
 ieee80211_setbsschan(struct ieee80211com *ic, struct ieee80211_channel *c)
 {
 	ic->ic_bsschan = c;
-	ic->ic_curchan = ic->ic_bsschan;
-	ic->ic_curmode = ieee80211_chan2mode(ic->ic_curchan);
-	ic->ic_set_channel(ic);
+	ic->ic_curmode = ieee80211_chan2mode(ic->ic_bsschan);
+	ieee80211_set_channel(ic, ic->ic_bsschan);
 }
 
 /*

==== //depot/projects/wifi/sys/net80211/ieee80211_proto.c#65 (text+ko) ====

@@ -953,8 +953,7 @@
 
 	ic->ic_bsschan = chan;
 	ic->ic_prevchan = ic->ic_curchan;
-	ic->ic_curchan = chan;
-	ic->ic_set_channel(ic);
+	ieee80211_set_channel(ic, chan);
 	/* NB: do not need to reset ERP state 'cuz we're in sta mode */
 }
 

==== //depot/projects/wifi/sys/net80211/ieee80211_scan.c#20 (text+ko) ====

@@ -232,14 +232,6 @@
 	return (scan != NULL);
 }
 
-static void
-change_channel(struct ieee80211com *ic,
-	struct ieee80211_channel *chan)
-{
-	ic->ic_curchan = chan;
-	ic->ic_set_channel(ic);
-}
-
 static char
 channel_type(const struct ieee80211_channel *c)
 {
@@ -742,7 +734,7 @@
 		/*
 		 * Potentially change channel and phy mode.
 		 */
-		change_channel(ic, chan);
+		ieee80211_set_channel(ic, chan);
 
 		/*
 		 * Scan curchan.  Drivers for "intelligent hardware"
@@ -768,7 +760,7 @@
 		/* return to the bss channel */
 		if (ic->ic_bsschan != IEEE80211_CHAN_ANYC &&
 		    ic->ic_curchan != ic->ic_bsschan)
-			change_channel(ic, ic->ic_bsschan);
+			ieee80211_set_channel(ic, ic->ic_bsschan);
 		/* clear internal flags and any indication of a pick */
 		SCAN_PRIVATE(ss)->ss_iflags &= ~ISCAN_REP;
 		ss->ss_flags &= ~IEEE80211_SCAN_GOTPICK;

==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#64 (text+ko) ====

@@ -428,6 +428,8 @@
 		int ieee, int flags);
 int	ieee80211_setmode(struct ieee80211com *, enum ieee80211_phymode);
 enum ieee80211_phymode ieee80211_chan2mode(const struct ieee80211_channel *);
+void	ieee80211_set_channel(struct ieee80211com *,
+		struct ieee80211_channel *);
 
 /* 
  * Key update synchronization methods.  XXX should not be visible.


More information about the p4-projects mailing list