PERFORCE change 107374 for review

Hans Petter Selasky hselasky at FreeBSD.org
Fri Oct 6 13:47:37 PDT 2006


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

Change 107374 by hselasky at hselasky_mini_itx on 2006/10/06 20:47:30

	Bug fixes.

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb/if_ural.c#13 edit
.. //depot/projects/usb/src/sys/dev/usb/if_uralreg.h#7 edit
.. //depot/projects/usb/src/sys/dev/usb/if_uralvar.h#9 edit

Differences ...

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

@@ -1828,6 +1828,8 @@
 	error = ieee80211_media_change(ifp);
 	if (error != ENETRESET) {
 	    goto done;
+	} else {
+	    error = 0;
 	}
 
 	if ((ifp->if_flags & IFF_UP) &&
@@ -1852,16 +1854,19 @@
 {
 	struct ural_softc *sc = ifp->if_softc;
 	struct ieee80211com *ic = &(sc->sc_ic);
+	int error = 0;
 
 	mtx_lock(&(sc->sc_mtx));
 
 	if (ic->ic_opmode != IEEE80211_M_MONITOR) {
-		return ENETRESET;
+		error = ENETRESET;
+		goto done;
 	}
 
 	usbd_config_td_queue_command
 	  (&(sc->sc_config_td), &ural_cfg_set_chan, 0);
 
+ done:
 	mtx_unlock(&(sc->sc_mtx));
 
 	return 0;
@@ -1935,8 +1940,6 @@
 
 	    sc->sc_flags &= ~(URAL_FLAG_SEND_BYTE_FRAME|
 			      URAL_FLAG_SEND_BCN_FRAME);
-
-	    wakeup(&(sc->sc_wakeup_bcn));
 	}
 	return;
 }
@@ -1944,8 +1947,6 @@
 static void
 ural_cfg_tx_bcn(struct ural_softc *sc)
 {
-	register int error;
-
 	if ((sc->sc_flags & URAL_FLAG_LL_READY) &&
 	    (sc->sc_flags & URAL_FLAG_HL_READY)) {
 
@@ -1953,6 +1954,11 @@
 	    struct ieee80211_node *ni = sc->sc_ic.ic_bss;
 	    struct mbuf *m;
 
+	    if (sc->sc_bcn_mbuf) {
+	        DPRINTF(sc,0, "beacon already in progress!\n");
+		return;
+	    }
+
 	    m = ieee80211_beacon_alloc(ic, ni, &sc->sc_bo);
 
 	    if (m == NULL) {
@@ -1971,17 +1977,6 @@
 	    /* start transfer, if not started */
 
 	    usbd_transfer_start(sc->sc_xfer[0]);
-
-	    while (sc->sc_flags & (URAL_FLAG_SEND_BYTE_FRAME|
-				   URAL_FLAG_SEND_BCN_FRAME)) {
-
-		if (usbd_config_td_is_gone(&(sc->sc_config_td))) {
-		    break;
-		}
-
-	        error = msleep(&(sc->sc_wakeup_bcn), &(sc->sc_mtx), 
-			       0, "ural beacon sleep", 0);
-	    }
 	}
 	return;
 }

==== //depot/projects/usb/src/sys/dev/usb/if_uralreg.h#7 (text+ko) ====


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

@@ -163,7 +163,5 @@
 	uint8_t				sc_scan_timer;
 	uint8_t				sc_amrr_timer;
 	uint8_t				sc_name[32];
-
-	uint8_t				sc_wakeup_bcn;
 };
 


More information about the p4-projects mailing list