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