diff options
author | bschmidt <bschmidt@FreeBSD.org> | 2010-06-14 08:24:00 +0000 |
---|---|---|
committer | bschmidt <bschmidt@FreeBSD.org> | 2010-06-14 08:24:00 +0000 |
commit | 6586564ab79e4eea8e794175c8a3f48a7f34d36d (patch) | |
tree | 2e4bba97a7171606aa1f0525b009e4f5adbfe0fd | |
parent | c8e17adfdc6bbc201764d927422a29210b777e09 (diff) | |
download | FreeBSD-src-6586564ab79e4eea8e794175c8a3f48a7f34d36d.zip FreeBSD-src-6586564ab79e4eea8e794175c8a3f48a7f34d36d.tar.gz |
sc_lastrs is also used in case the sending station is not known, for
example in a split IBSS scenario. Therefore always assign sc_lastrs.
This removes a hack I committed in r206457.
Approved by: rpaulo (mentor)
-rw-r--r-- | sys/dev/ath/if_ath.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index 15765f2..c16697e 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -3654,14 +3654,8 @@ ath_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m, case IEEE80211_FC0_SUBTYPE_PROBE_RESP: if (vap->iv_opmode == IEEE80211_M_IBSS && vap->iv_state == IEEE80211_S_RUN) { - uint32_t rstamp; - uint64_t tsf; - - if (sc->sc_lastrs == NULL) - break; - - rstamp = sc->sc_lastrs->rs_tstamp; - tsf = ath_extend_tsf(rstamp, + uint32_t rstamp = sc->sc_lastrs->rs_tstamp; + uint64_t tsf = ath_extend_tsf(rstamp, ath_hal_gettsf64(sc->sc_ah)); /* * Handle ibss merge as needed; check the tsf on the @@ -4002,11 +3996,11 @@ rx_accept: mtod(m, const struct ieee80211_frame_min *), rs->rs_keyix == HAL_RXKEYIX_INVALID ? IEEE80211_KEYIX_NONE : rs->rs_keyix); + sc->sc_lastrs = rs; if (ni != NULL) { /* * Sending station is known, dispatch directly. */ - sc->sc_lastrs = rs; type = ieee80211_input(ni, m, rs->rs_rssi, nf); ieee80211_free_node(ni); /* |