fix issues with getting and storing mac addresses
This commit is contained in:
parent
2f5f0b4f89
commit
8cf23c4620
|
@ -2506,6 +2506,7 @@ mwifiex_cfg80211_scan(struct wiphy *wiphy,
|
||||||
struct ieee80211_channel *chan;
|
struct ieee80211_channel *chan;
|
||||||
struct ieee_types_header *ie;
|
struct ieee_types_header *ie;
|
||||||
struct mwifiex_user_scan_cfg *user_scan_cfg;
|
struct mwifiex_user_scan_cfg *user_scan_cfg;
|
||||||
|
u8 mac_addr[ETH_ALEN];
|
||||||
|
|
||||||
mwifiex_dbg(priv->adapter, CMD,
|
mwifiex_dbg(priv->adapter, CMD,
|
||||||
"info: received scan request on %s\n", dev->name);
|
"info: received scan request on %s\n", dev->name);
|
||||||
|
@ -2532,15 +2533,10 @@ mwifiex_cfg80211_scan(struct wiphy *wiphy,
|
||||||
priv->scan_request = request;
|
priv->scan_request = request;
|
||||||
|
|
||||||
if (request->flags & NL80211_SCAN_FLAG_RANDOM_ADDR) {
|
if (request->flags & NL80211_SCAN_FLAG_RANDOM_ADDR) {
|
||||||
ether_addr_copy(priv->random_mac, request->mac_addr);
|
get_random_mask_addr(mac_addr, request->mac_addr,
|
||||||
for (i = 0; i < ETH_ALEN; i++) {
|
request->mac_addr_mask);
|
||||||
priv->random_mac[i] &= request->mac_addr_mask[i];
|
ether_addr_copy(request->mac_addr, mac_addr);
|
||||||
priv->random_mac[i] |= get_random_int() &
|
ether_addr_copy(user_scan_cfg->random_mac, mac_addr);
|
||||||
~(request->mac_addr_mask[i]);
|
|
||||||
}
|
|
||||||
ether_addr_copy(user_scan_cfg->random_mac, priv->random_mac);
|
|
||||||
} else {
|
|
||||||
eth_zero_addr(priv->random_mac);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
user_scan_cfg->num_ssids = request->n_ssids;
|
user_scan_cfg->num_ssids = request->n_ssids;
|
||||||
|
|
|
@ -680,7 +680,6 @@ struct mwifiex_private {
|
||||||
struct mwifiex_user_scan_chan hidden_chan[MWIFIEX_USER_SCAN_CHAN_MAX];
|
struct mwifiex_user_scan_chan hidden_chan[MWIFIEX_USER_SCAN_CHAN_MAX];
|
||||||
u8 assoc_resp_ht_param;
|
u8 assoc_resp_ht_param;
|
||||||
bool ht_param_present;
|
bool ht_param_present;
|
||||||
u8 random_mac[ETH_ALEN];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1948,7 +1948,8 @@ mwifiex_active_scan_req_for_passive_chan(struct mwifiex_private *priv)
|
||||||
|
|
||||||
adapter->active_scan_triggered = true;
|
adapter->active_scan_triggered = true;
|
||||||
if (priv->scan_request->flags & NL80211_SCAN_FLAG_RANDOM_ADDR)
|
if (priv->scan_request->flags & NL80211_SCAN_FLAG_RANDOM_ADDR)
|
||||||
ether_addr_copy(user_scan_cfg->random_mac, priv->random_mac);
|
ether_addr_copy(user_scan_cfg->random_mac,
|
||||||
|
priv->scan_request->mac_addr);
|
||||||
user_scan_cfg->num_ssids = priv->scan_request->n_ssids;
|
user_scan_cfg->num_ssids = priv->scan_request->n_ssids;
|
||||||
user_scan_cfg->ssid_list = priv->scan_request->ssids;
|
user_scan_cfg->ssid_list = priv->scan_request->ssids;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue