From 3222e9c2cde262a2a5a46f45f0a1e06623f69433 Mon Sep 17 00:00:00 2001 From: thompsa Date: Sun, 3 May 2009 18:29:04 +0000 Subject: Relax the condition for printing the lost state transition message. The new state will be set before the EXT_STATEWAIT flag is cleared and its ok to transition again at that point. --- sys/net80211/ieee80211_proto.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c index 98888d8..157dc5b 100644 --- a/sys/net80211/ieee80211_proto.c +++ b/sys/net80211/ieee80211_proto.c @@ -1722,19 +1722,21 @@ ieee80211_new_state_locked(struct ieee80211vap *vap, * state changes until this is completed. */ return -1; - } + } else if (vap->iv_state != vap->iv_nstate) { #if 0 - /* Warn if the previous state hasn't completed. */ - IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, - "%s: pending %s -> %s transition lost\n", __func__, - ieee80211_state_name[vap->iv_state], - ieee80211_state_name[vap->iv_nstate]); + /* Warn if the previous state hasn't completed. */ + IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, + "%s: pending %s -> %s transition lost\n", __func__, + ieee80211_state_name[vap->iv_state], + ieee80211_state_name[vap->iv_nstate]); #else - /* XXX temporarily enable to identify issues */ - if_printf(vap->iv_ifp, "%s: pending %s -> %s transition lost\n", - __func__, ieee80211_state_name[vap->iv_state], - ieee80211_state_name[vap->iv_nstate]); + /* XXX temporarily enable to identify issues */ + if_printf(vap->iv_ifp, + "%s: pending %s -> %s transition lost\n", + __func__, ieee80211_state_name[vap->iv_state], + ieee80211_state_name[vap->iv_nstate]); #endif + } } nrunning = nscanning = 0; -- cgit v1.1