From owner-p4-projects@FreeBSD.ORG Sun May 22 03:51:10 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ABDAA16A421; Sun, 22 May 2005 03:51:09 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3FAFC16A420 for ; Sun, 22 May 2005 03:51:09 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1798143D1D for ; Sun, 22 May 2005 03:51:09 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j4M3p8o1007448 for ; Sun, 22 May 2005 03:51:08 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j4M3p8Ns007445 for perforce@freebsd.org; Sun, 22 May 2005 03:51:08 GMT (envelope-from sam@freebsd.org) Date: Sun, 22 May 2005 03:51:08 GMT Message-Id: <200505220351.j4M3p8Ns007445@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 77275 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 May 2005 03:51:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=77275 Change 77275 by sam@sam_ebb on 2005/05/22 03:50:33 fix two more cases where we need to honor manual roaming: RUN -> AUTH and RUN -> ASSOC Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_proto.c#10 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_proto.c#10 (text+ko) ==== @@ -1145,8 +1145,9 @@ enum ieee80211_state ostate; ostate = vap->iv_state; - IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, "%s: %s -> %s\n", __func__, - ieee80211_state_name[ostate], ieee80211_state_name[nstate]); + IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, "%s: %s -> %s (arg 0x%x)\n", + __func__, ieee80211_state_name[ostate], + ieee80211_state_name[nstate], arg); vap->iv_state = nstate; /* state transition */ callout_stop(&vap->iv_mgtsend); if (ostate != IEEE80211_S_SCAN) @@ -1272,7 +1273,6 @@ case IEEE80211_S_ASSOC: switch (arg) { case IEEE80211_FC0_SUBTYPE_AUTH: - /* ??? */ IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_AUTH, 2); break; @@ -1290,10 +1290,12 @@ vap->iv_state = ostate; /* stay RUN */ break; case IEEE80211_FC0_SUBTYPE_DEAUTH: - /* try to reauth */ - IEEE80211_SEND_MGMT(ni, - IEEE80211_FC0_SUBTYPE_AUTH, 1); ieee80211_sta_leave(ni); + if (ic->ic_roaming == IEEE80211_ROAMING_AUTO) { + /* try to reauth */ + IEEE80211_SEND_MGMT(ni, + IEEE80211_FC0_SUBTYPE_AUTH, 1); + } break; } break; @@ -1315,11 +1317,13 @@ IEEE80211_FC0_SUBTYPE_ASSOC_REQ, 0); break; case IEEE80211_S_RUN: - /* NB: caller specifies ASSOC/REASSOC with arg */ - IEEE80211_SEND_MGMT(ni, arg ? - IEEE80211_FC0_SUBTYPE_REASSOC_REQ : - IEEE80211_FC0_SUBTYPE_ASSOC_REQ, 0); ieee80211_sta_leave(ni); + if (ic->ic_roaming == IEEE80211_ROAMING_AUTO) { + /* NB: caller specifies ASSOC/REASSOC by arg */ + IEEE80211_SEND_MGMT(ni, arg ? + IEEE80211_FC0_SUBTYPE_REASSOC_REQ : + IEEE80211_FC0_SUBTYPE_ASSOC_REQ, 0); + } break; } break;