From owner-svn-src-all@freebsd.org Thu Mar 3 20:06:18 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 27609A93EAC; Thu, 3 Mar 2016 20:06:18 +0000 (UTC) (envelope-from avos@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DF50E8CF; Thu, 3 Mar 2016 20:06:17 +0000 (UTC) (envelope-from avos@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u23K6GFc062559; Thu, 3 Mar 2016 20:06:16 GMT (envelope-from avos@FreeBSD.org) Received: (from avos@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u23K6Grd062553; Thu, 3 Mar 2016 20:06:16 GMT (envelope-from avos@FreeBSD.org) Message-Id: <201603032006.u23K6Grd062553@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avos set sender to avos@FreeBSD.org using -f From: Andriy Voskoboinyk Date: Thu, 3 Mar 2016 20:06:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296356 - head/sys/dev/usb/wlan X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Mar 2016 20:06:18 -0000 Author: avos Date: Thu Mar 3 20:06:16 2016 New Revision: 296356 URL: https://svnweb.freebsd.org/changeset/base/296356 Log: zyd, run, ural: do not corrupt MAC address Do not use ic_macaddr as a storage for current BSSID; it may be reused in vap creation procedure; similar to r288619. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D5513 Modified: head/sys/dev/usb/wlan/if_run.c head/sys/dev/usb/wlan/if_runvar.h head/sys/dev/usb/wlan/if_ural.c head/sys/dev/usb/wlan/if_uralvar.h head/sys/dev/usb/wlan/if_zyd.c head/sys/dev/usb/wlan/if_zydreg.h Modified: head/sys/dev/usb/wlan/if_run.c ============================================================================== --- head/sys/dev/usb/wlan/if_run.c Thu Mar 3 19:53:46 2016 (r296355) +++ head/sys/dev/usb/wlan/if_run.c Thu Mar 3 20:06:16 2016 (r296356) @@ -2141,8 +2141,8 @@ run_newstate(struct ieee80211vap *vap, e run_set_txpreamble(sc); run_set_basicrates(sc); ni = ieee80211_ref_node(vap->iv_bss); - IEEE80211_ADDR_COPY(ic->ic_macaddr, ni->ni_bssid); - run_set_bssid(sc, ni->ni_bssid); + IEEE80211_ADDR_COPY(sc->sc_bssid, ni->ni_bssid); + run_set_bssid(sc, sc->sc_bssid); ieee80211_free_node(ni); run_enable_tsf_sync(sc); @@ -4811,8 +4811,7 @@ run_scan_end(struct ieee80211com *ic) RUN_LOCK(sc); run_enable_tsf_sync(sc); - /* XXX keep local copy */ - run_set_bssid(sc, ic->ic_macaddr); + run_set_bssid(sc, sc->sc_bssid); RUN_UNLOCK(sc); Modified: head/sys/dev/usb/wlan/if_runvar.h ============================================================================== --- head/sys/dev/usb/wlan/if_runvar.h Thu Mar 3 19:53:46 2016 (r296355) +++ head/sys/dev/usb/wlan/if_runvar.h Thu Mar 3 20:06:16 2016 (r296356) @@ -248,6 +248,8 @@ struct run_softc { uint8_t rvp_bmap; uint8_t sc_detached; + uint8_t sc_bssid[IEEE80211_ADDR_LEN]; + union { struct run_rx_radiotap_header th; uint8_t pad[64]; Modified: head/sys/dev/usb/wlan/if_ural.c ============================================================================== --- head/sys/dev/usb/wlan/if_ural.c Thu Mar 3 19:53:46 2016 (r296355) +++ head/sys/dev/usb/wlan/if_ural.c Thu Mar 3 20:06:16 2016 (r296356) @@ -706,8 +706,8 @@ ural_newstate(struct ieee80211vap *vap, ural_update_slot(sc); ural_set_txpreamble(sc); ural_set_basicrates(sc, ic->ic_bsschan); - IEEE80211_ADDR_COPY(ic->ic_macaddr, ni->ni_bssid); - ural_set_bssid(sc, ic->ic_macaddr); + IEEE80211_ADDR_COPY(sc->sc_bssid, ni->ni_bssid); + ural_set_bssid(sc, sc->sc_bssid); } if (vap->iv_opmode == IEEE80211_M_HOSTAP || @@ -1582,7 +1582,7 @@ ural_scan_end(struct ieee80211com *ic) RAL_LOCK(sc); ural_enable_tsf_sync(sc); - ural_set_bssid(sc, ic->ic_macaddr); + ural_set_bssid(sc, sc->sc_bssid); RAL_UNLOCK(sc); } Modified: head/sys/dev/usb/wlan/if_uralvar.h ============================================================================== --- head/sys/dev/usb/wlan/if_uralvar.h Thu Mar 3 19:53:46 2016 (r296355) +++ head/sys/dev/usb/wlan/if_uralvar.h Thu Mar 3 20:06:16 2016 (r296356) @@ -97,7 +97,7 @@ struct ural_softc { uint32_t asic_rev; uint8_t rf_rev; - struct usb_xfer *sc_xfer[URAL_N_TRANSFER]; + struct usb_xfer *sc_xfer[URAL_N_TRANSFER]; struct ural_tx_data tx_data[RAL_TX_LIST_COUNT]; ural_txdhead tx_q; @@ -113,6 +113,8 @@ struct ural_softc { u_int sc_detached:1, sc_running:1; + uint8_t sc_bssid[IEEE80211_ADDR_LEN]; + struct { uint8_t val; uint8_t reg; Modified: head/sys/dev/usb/wlan/if_zyd.c ============================================================================== --- head/sys/dev/usb/wlan/if_zyd.c Thu Mar 3 19:53:46 2016 (r296355) +++ head/sys/dev/usb/wlan/if_zyd.c Thu Mar 3 20:06:16 2016 (r296356) @@ -609,8 +609,8 @@ zyd_newstate(struct ieee80211vap *vap, e /* make data LED blink upon Tx */ zyd_write32_m(sc, sc->sc_fwbase + ZYD_FW_LINK_STATUS, 1); - IEEE80211_ADDR_COPY(ic->ic_macaddr, vap->iv_bss->ni_bssid); - zyd_set_bssid(sc, ic->ic_macaddr); + IEEE80211_ADDR_COPY(sc->sc_bssid, vap->iv_bss->ni_bssid); + zyd_set_bssid(sc, sc->sc_bssid); break; default: break; @@ -2860,7 +2860,7 @@ zyd_scan_end(struct ieee80211com *ic) ZYD_LOCK(sc); /* restore previous bssid */ - zyd_set_bssid(sc, ic->ic_macaddr); + zyd_set_bssid(sc, sc->sc_bssid); ZYD_UNLOCK(sc); } Modified: head/sys/dev/usb/wlan/if_zydreg.h ============================================================================== --- head/sys/dev/usb/wlan/if_zydreg.h Thu Mar 3 19:53:46 2016 (r296355) +++ head/sys/dev/usb/wlan/if_zydreg.h Thu Mar 3 20:06:16 2016 (r296356) @@ -1291,6 +1291,7 @@ struct zyd_softc { uint8_t sc_ofdm36_cal[14]; uint8_t sc_ofdm48_cal[14]; uint8_t sc_ofdm54_cal[14]; + uint8_t sc_bssid[IEEE80211_ADDR_LEN]; struct mtx sc_mtx; struct zyd_tx_data tx_data[ZYD_TX_LIST_CNT];