diff options
author | Jouni Malinen <jouni@qca.qualcomm.com> | 2016-02-26 22:12:49 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2016-04-05 10:56:29 +0200 |
commit | 12880d169471fb14c46d6f323f31127702a6d5e6 (patch) | |
tree | 218831dc206cfee68b5543531637cea1d09dcb16 /drivers/net | |
parent | e345f44f2b7c6a77c1c0677b7c8606a0bb1c5c5c (diff) |
mac80211_hwsim: Support a hw scan request for a specific BSSID
If the hw scan request specifies a single BSSID, use that value instead
of the wildcard BSSID in the Probe Request frames.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/mac80211_hwsim.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c index e85e0737771c..2b185feb1aa0 100644 --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c @@ -1909,6 +1909,7 @@ static void hw_scan_work(struct work_struct *work) /* send probes */ for (i = 0; i < req->n_ssids; i++) { struct sk_buff *probe; + struct ieee80211_mgmt *mgmt; probe = ieee80211_probereq_get(hwsim->hw, hwsim->scan_addr, @@ -1918,6 +1919,10 @@ static void hw_scan_work(struct work_struct *work) if (!probe) continue; + mgmt = (struct ieee80211_mgmt *) probe->data; + memcpy(mgmt->da, req->bssid, ETH_ALEN); + memcpy(mgmt->bssid, req->bssid, ETH_ALEN); + if (req->ie_len) memcpy(skb_put(probe, req->ie_len), req->ie, req->ie_len); |