Author: bschmidt
Date: Mon Jun 14 08:24:00 2010
New Revision: 209156
URL: http://svn.freebsd.org/changeset/base/209156

Log:
  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)

Modified:
  head/sys/dev/ath/if_ath.c

Modified: head/sys/dev/ath/if_ath.c
==============================================================================
--- head/sys/dev/ath/if_ath.c   Mon Jun 14 07:38:53 2010        (r209155)
+++ head/sys/dev/ath/if_ath.c   Mon Jun 14 08:24:00 2010        (r209156)
@@ -3654,14 +3654,8 @@ ath_recv_mgmt(struct ieee80211_node *ni,
        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);
                        /*
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to