svn commit: r216237 - head/sys/dev/iwn

Bernhard Schmidt bschmidt at FreeBSD.org
Mon Dec 6 18:28:39 UTC 2010


Author: bschmidt
Date: Mon Dec  6 18:28:39 2010
New Revision: 216237
URL: http://svn.freebsd.org/changeset/base/216237

Log:
  Fixes for monitor mode:
  - Do not call iwn_calib_reset() for monitor mode. We do not want to query
    information and do runtime calibration while in monitor mode. Poking the
    firmware with adjustments for calibration results in firmware asserts.
    This could happened on RUN -> RUN transition only.
  - Adjust blink rate for monitor mode. It's supposed to not freak out and
    turn off after a while.
  - While here, remove one useless assignment of calib.state, it gets
    overwritten later in the function.
  
  Submitted by:	Brandon Gooch <jamesbrandongooch at gmail.com>
  MFC after:	1 week

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==============================================================================
--- head/sys/dev/iwn/if_iwn.c	Mon Dec  6 17:06:21 2010	(r216236)
+++ head/sys/dev/iwn/if_iwn.c	Mon Dec  6 18:28:39 2010	(r216237)
@@ -1983,7 +1983,8 @@ iwn_newstate(struct ieee80211vap *vap, e
 		/*
 		 * RUN -> RUN transition; Just restart the timers.
 		 */
-		if (vap->iv_state == IEEE80211_S_RUN) {
+		if (vap->iv_state == IEEE80211_S_RUN &&
+		    vap->iv_opmode != IEEE80211_M_MONITOR) {
 			iwn_calib_reset(sc);
 			break;
 		}
@@ -4851,11 +4852,9 @@ iwn_run(struct iwn_softc *sc, struct iee
 	struct iwn_node_info node;
 	int error;
 
-	sc->calib.state = IWN_CALIB_STATE_INIT;
-
 	if (ic->ic_opmode == IEEE80211_M_MONITOR) {
 		/* Link LED blinks while monitoring. */
-		iwn_set_led(sc, IWN_LED_LINK, 5, 5);
+		iwn_set_led(sc, IWN_LED_LINK, 20, 20);
 		return 0;
 	}
 	error = iwn_set_timing(sc, ni);


More information about the svn-src-head mailing list