summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbschmidt <bschmidt@FreeBSD.org>2010-06-14 08:24:00 +0000
committerbschmidt <bschmidt@FreeBSD.org>2010-06-14 08:24:00 +0000
commit6586564ab79e4eea8e794175c8a3f48a7f34d36d (patch)
tree2e4bba97a7171606aa1f0525b009e4f5adbfe0fd
parentc8e17adfdc6bbc201764d927422a29210b777e09 (diff)
downloadFreeBSD-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.c12
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);
/*
OpenPOWER on IntegriCloud