svn commit: r318220 - head/sys/dev/iwm
Adrian Chadd
adrian at FreeBSD.org
Fri May 12 05:51:51 UTC 2017
Author: adrian
Date: Fri May 12 05:51:50 2017
New Revision: 318220
URL: https://svnweb.freebsd.org/changeset/base/318220
Log:
[iwm] No need for iwm_assoc() in AUTH->ASSOC transition.
* Hence no need to keep stuff in separate iwm_assoc() function, just
inline the stuff into iwm_newstate().
Obtained from: dragonflybsd.git e8f7d88e0d030f138f95ecdb7c1a729d9fb0d6ab
Modified:
head/sys/dev/iwm/if_iwm.c
Modified: head/sys/dev/iwm/if_iwm.c
==============================================================================
--- head/sys/dev/iwm/if_iwm.c Fri May 12 05:50:38 2017 (r318219)
+++ head/sys/dev/iwm/if_iwm.c Fri May 12 05:51:50 2017 (r318220)
@@ -359,7 +359,6 @@ static int iwm_mvm_add_int_sta_common(st
static int iwm_mvm_add_aux_sta(struct iwm_softc *);
static int iwm_mvm_update_quotas(struct iwm_softc *, struct iwm_vap *);
static int iwm_auth(struct ieee80211vap *, struct iwm_softc *);
-static int iwm_assoc(struct ieee80211vap *, struct iwm_softc *);
static int iwm_release(struct iwm_softc *, struct iwm_node *);
static struct ieee80211_node *
iwm_node_alloc(struct ieee80211vap *,
@@ -4166,9 +4165,9 @@ iwm_auth(struct ieee80211vap *vap, struc
"%s: binding update cmd\n", __func__);
goto out;
}
- if ((error = iwm_mvm_update_sta(sc, in)) != 0) {
+ if ((error = iwm_mvm_add_sta(sc, in)) != 0) {
device_printf(sc->sc_dev,
- "%s: failed to update sta\n", __func__);
+ "%s: failed to add sta\n", __func__);
goto out;
}
} else {
@@ -4220,28 +4219,6 @@ out:
}
static int
-iwm_assoc(struct ieee80211vap *vap, struct iwm_softc *sc)
-{
- struct iwm_node *in = IWM_NODE(vap->iv_bss);
- int error;
-
- if ((error = iwm_mvm_update_sta(sc, in)) != 0) {
- device_printf(sc->sc_dev,
- "%s: failed to update STA\n", __func__);
- return error;
- }
-
- in->in_assoc = 1;
- if ((error = iwm_mvm_mac_ctxt_changed(sc, vap)) != 0) {
- device_printf(sc->sc_dev,
- "%s: failed to update MAC\n", __func__);
- return error;
- }
-
- return 0;
-}
-
-static int
iwm_release(struct iwm_softc *sc, struct iwm_node *in)
{
uint32_t tfd_msk;
@@ -4556,7 +4533,6 @@ iwm_newstate(struct ieee80211vap *vap, e
device_printf(sc->sc_dev,
"%s: could not move to auth state: %d\n",
__func__, error);
- break;
}
break;
@@ -4565,13 +4541,7 @@ iwm_newstate(struct ieee80211vap *vap, e
* EBS may be disabled due to previous failures reported by FW.
* Reset EBS status here assuming environment has been changed.
*/
- sc->last_ebs_successful = TRUE;
- if ((error = iwm_assoc(vap, sc)) != 0) {
- device_printf(sc->sc_dev,
- "%s: failed to associate: %d\n", __func__,
- error);
- break;
- }
+ sc->last_ebs_successful = TRUE;
break;
case IEEE80211_S_RUN:
@@ -4582,18 +4552,24 @@ iwm_newstate(struct ieee80211vap *vap, e
.flags = IWM_CMD_SYNC,
};
+ in = IWM_NODE(vap->iv_bss);
/* Update the association state, now we have it all */
/* (eg associd comes in at this point */
- error = iwm_assoc(vap, sc);
+ error = iwm_mvm_update_sta(sc, in);
if (error != 0) {
device_printf(sc->sc_dev,
- "%s: failed to update association state: %d\n",
- __func__,
- error);
- break;
+ "%s: failed to update STA\n", __func__);
+ IWM_UNLOCK(sc);
+ IEEE80211_LOCK(ic);
+ return error;
+ }
+ in->in_assoc = 1;
+ error = iwm_mvm_mac_ctxt_changed(sc, vap);
+ if (error != 0) {
+ device_printf(sc->sc_dev,
+ "%s: failed to update MAC: %d\n", __func__, error);
}
- in = IWM_NODE(vap->iv_bss);
iwm_mvm_enable_beacon_filter(sc, in);
iwm_mvm_power_update_mac(sc);
iwm_mvm_update_quotas(sc, ivp);
More information about the svn-src-head
mailing list