svn commit: r302101 - head/sys/dev/iwm
Adrian Chadd
adrian at FreeBSD.org
Thu Jun 23 00:56:56 UTC 2016
Author: adrian
Date: Thu Jun 23 00:56:54 2016
New Revision: 302101
URL: https://svnweb.freebsd.org/changeset/base/302101
Log:
[iwm] Use vap->iv_myaddr instead of ic->ic_macaddr when vap != NULL.
ic_macaddr is only used for the initial mac address provided by NVM. We should
rather use vap->iv_myaddr when vap != NULL, to allow the MAC address
to be changed later with ifconfig(8).
Submitted by: Imre Vadasz <imre at vdsz.com>
Reviewed by: avos
Approved by: re (gjb)
Obtained from: DragonflyBSD git 4aee7a78275676d22d14c04177bd0c9377d91478
Differential Revision: https://reviews.freebsd.org/D6743
Modified:
head/sys/dev/iwm/if_iwm_mac_ctxt.c
head/sys/dev/iwm/if_iwm_scan.c
Modified: head/sys/dev/iwm/if_iwm_mac_ctxt.c
==============================================================================
--- head/sys/dev/iwm/if_iwm_mac_ctxt.c Thu Jun 23 00:54:14 2016 (r302100)
+++ head/sys/dev/iwm/if_iwm_mac_ctxt.c Thu Jun 23 00:56:54 2016 (r302101)
@@ -275,7 +275,7 @@ iwm_mvm_mac_ctxt_cmd_common(struct iwm_s
*/
cmd->tsf_id = htole32(IWM_DEFAULT_TSFID);
- IEEE80211_ADDR_COPY(cmd->node_addr, ic->ic_macaddr);
+ IEEE80211_ADDR_COPY(cmd->node_addr, vap->iv_myaddr);
/*
* XXX should we error out if in_assoc is 1 and ni == NULL?
Modified: head/sys/dev/iwm/if_iwm_scan.c
==============================================================================
--- head/sys/dev/iwm/if_iwm_scan.c Thu Jun 23 00:54:14 2016 (r302100)
+++ head/sys/dev/iwm/if_iwm_scan.c Thu Jun 23 00:56:54 2016 (r302101)
@@ -371,6 +371,8 @@ iwm_mvm_scan_request(struct iwm_softc *s
.dataflags = { IWM_HCMD_DFL_NOCOPY, },
};
struct iwm_scan_cmd *cmd = sc->sc_scan_cmd;
+ struct ieee80211com *ic = &sc->sc_ic;
+ struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
int is_assoc = 0;
int ret;
uint32_t status;
@@ -421,8 +423,9 @@ iwm_mvm_scan_request(struct iwm_softc *s
cmd->tx_cmd.len = htole16(iwm_mvm_fill_probe_req(sc,
(struct ieee80211_frame *)cmd->data,
- sc->sc_ic.ic_macaddr, n_ssids, ssid, ssid_len,
- NULL, 0, sc->sc_capa_max_probe_len));
+ vap ? vap->iv_myaddr : ic->ic_macaddr, n_ssids,
+ ssid, ssid_len, NULL, 0,
+ sc->sc_capa_max_probe_len));
cmd->channel_count
= iwm_mvm_scan_fill_channels(sc, cmd, flags, n_ssids, basic_ssid);
More information about the svn-src-all
mailing list