PERFORCE change 115163 for review

Sepherosa Ziehau sephe at FreeBSD.org
Wed Feb 28 12:32:39 UTC 2007


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

Change 115163 by sephe at sephe_zealot:sam_wifi on 2007/02/28 12:31:47

	Add sc_newstate_arg to ural_softc, through it we can pass
	ieee80211_new_state() 'arg' along following code path:
	ural_newstate()->ural_task()->ieee80211_newstate()
	
	'arg' is quite important to let ieee80211_newstate() make
	correct decision during certain state changes, e.g. RUN->AUTH
	
	Reviewed-by: sam@

Affected files ...

.. //depot/projects/wifi/sys/dev/usb/if_ural.c#16 edit
.. //depot/projects/wifi/sys/dev/usb/if_uralvar.h#8 edit

Differences ...

==== //depot/projects/wifi/sys/dev/usb/if_ural.c#16 (text+ko) ====

@@ -733,13 +733,14 @@
 }
 
 static void
-ural_task(void *arg)
+ural_task(void *xarg)
 {
-	struct ural_softc *sc = arg;
+	struct ural_softc *sc = xarg;
 	struct ieee80211com *ic = &sc->sc_ic;
 	enum ieee80211_state ostate;
 	struct ieee80211_node *ni;
 	struct mbuf *m;
+	int arg = sc->sc_newstate_arg;
 
 	ostate = ic->ic_state;
 
@@ -799,7 +800,7 @@
 	}
 
 	RAL_UNLOCK(sc);
-	sc->sc_newstate(ic, sc->sc_state, -1);
+	sc->sc_newstate(ic, sc->sc_state, arg);
 }
 
 static void
@@ -836,6 +837,7 @@
 
 	/* do it in a process context */
 	sc->sc_state = nstate;
+	sc->sc_newstate_arg = arg;
 	usb_add_task(sc->sc_udev, &sc->sc_task, USB_TASKQ_DRIVER);
 
 	return 0;

==== //depot/projects/wifi/sys/dev/usb/if_uralvar.h#8 (text+ko) ====

@@ -103,6 +103,7 @@
 	usbd_pipe_handle		sc_tx_pipeh;
 
 	enum ieee80211_state		sc_state;
+	int				sc_newstate_arg;
 	int                             sc_scan_action; /* should be an enum */
 	struct usb_task			sc_task;
 	struct usb_task			sc_scantask;


More information about the p4-projects mailing list