mac80211_hwsim: support any address in userspace
Due to the checks in get_hwsim_data_ref_from_addr, wmediumd was only able to use the second mac address (those starting with 0x42). This is confusing and needlessly limiting, so allow any configured address. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
2afe38d15c
commit
cd37a90b2a
|
@ -906,8 +906,7 @@ static void mac80211_hwsim_tx_frame_nl(struct ieee80211_hw *hw,
|
||||||
goto nla_put_failure;
|
goto nla_put_failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nla_put(skb, HWSIM_ATTR_ADDR_TRANSMITTER,
|
if (nla_put(skb, HWSIM_ATTR_ADDR_TRANSMITTER, ETH_ALEN, hdr->addr2))
|
||||||
ETH_ALEN, data->addresses[1].addr))
|
|
||||||
goto nla_put_failure;
|
goto nla_put_failure;
|
||||||
|
|
||||||
/* We get the skb->data */
|
/* We get the skb->data */
|
||||||
|
@ -2608,7 +2607,7 @@ static struct mac80211_hwsim_data *get_hwsim_data_ref_from_addr(const u8 *addr)
|
||||||
|
|
||||||
spin_lock_bh(&hwsim_radio_lock);
|
spin_lock_bh(&hwsim_radio_lock);
|
||||||
list_for_each_entry(data, &hwsim_radios, list) {
|
list_for_each_entry(data, &hwsim_radios, list) {
|
||||||
if (memcmp(data->addresses[1].addr, addr, ETH_ALEN) == 0) {
|
if (mac80211_hwsim_addr_match(data, addr)) {
|
||||||
_found = true;
|
_found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue