Commit 8dc57430 authored by Eliad Peller's avatar Eliad Peller Committed by Luciano Coelho

wlcore: always use wlvif->role_id for scans

enabled (but not-started) sta role should be good enough
for scanning (both normal and scheduled), so use it
instead of the device_role.
Signed-off-by: default avatarEliad Peller <eliad@wizery.com>
Signed-off-by: default avatarLuciano Coelho <luca@coelho.fi>
parent fc3d1db5
...@@ -184,11 +184,7 @@ static int wl1271_scan_send(struct wl1271 *wl, struct ieee80211_vif *vif, ...@@ -184,11 +184,7 @@ static int wl1271_scan_send(struct wl1271 *wl, struct ieee80211_vif *vif,
if (passive) if (passive)
scan_options |= WL1271_SCAN_OPT_PASSIVE; scan_options |= WL1271_SCAN_OPT_PASSIVE;
if (wlvif->bss_type == BSS_TYPE_AP_BSS || cmd->params.role_id = wlvif->role_id;
test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags))
cmd->params.role_id = wlvif->role_id;
else
cmd->params.role_id = wlvif->dev_role_id;
if (WARN_ON(cmd->params.role_id == WL12XX_INVALID_ROLE_ID)) { if (WARN_ON(cmd->params.role_id == WL12XX_INVALID_ROLE_ID)) {
ret = -EINVAL; ret = -EINVAL;
...@@ -593,7 +589,7 @@ wl12xx_scan_sched_scan_ssid_list(struct wl1271 *wl, ...@@ -593,7 +589,7 @@ wl12xx_scan_sched_scan_ssid_list(struct wl1271 *wl,
goto out; goto out;
} }
cmd->role_id = wlvif->dev_role_id; cmd->role_id = wlvif->role_id;
if (!n_match_ssids) { if (!n_match_ssids) {
/* No filter, with ssids */ /* No filter, with ssids */
type = SCAN_SSID_FILTER_DISABLED; type = SCAN_SSID_FILTER_DISABLED;
...@@ -683,7 +679,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl, ...@@ -683,7 +679,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl,
if (!cfg) if (!cfg)
return -ENOMEM; return -ENOMEM;
cfg->role_id = wlvif->dev_role_id; cfg->role_id = wlvif->role_id;
cfg->rssi_threshold = c->rssi_threshold; cfg->rssi_threshold = c->rssi_threshold;
cfg->snr_threshold = c->snr_threshold; cfg->snr_threshold = c->snr_threshold;
cfg->n_probe_reqs = c->num_probe_reqs; cfg->n_probe_reqs = c->num_probe_reqs;
...@@ -718,7 +714,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl, ...@@ -718,7 +714,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl,
if (!force_passive && cfg->active[0]) { if (!force_passive && cfg->active[0]) {
u8 band = IEEE80211_BAND_2GHZ; u8 band = IEEE80211_BAND_2GHZ;
ret = wl12xx_cmd_build_probe_req(wl, wlvif, ret = wl12xx_cmd_build_probe_req(wl, wlvif,
wlvif->dev_role_id, band, wlvif->role_id, band,
req->ssids[0].ssid, req->ssids[0].ssid,
req->ssids[0].ssid_len, req->ssids[0].ssid_len,
ies->ie[band], ies->ie[band],
...@@ -732,7 +728,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl, ...@@ -732,7 +728,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl,
if (!force_passive && cfg->active[1]) { if (!force_passive && cfg->active[1]) {
u8 band = IEEE80211_BAND_5GHZ; u8 band = IEEE80211_BAND_5GHZ;
ret = wl12xx_cmd_build_probe_req(wl, wlvif, ret = wl12xx_cmd_build_probe_req(wl, wlvif,
wlvif->dev_role_id, band, wlvif->role_id, band,
req->ssids[0].ssid, req->ssids[0].ssid,
req->ssids[0].ssid_len, req->ssids[0].ssid_len,
ies->ie[band], ies->ie[band],
...@@ -774,7 +770,7 @@ int wl1271_scan_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif) ...@@ -774,7 +770,7 @@ int wl1271_scan_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif)
if (!start) if (!start)
return -ENOMEM; return -ENOMEM;
start->role_id = wlvif->dev_role_id; start->role_id = wlvif->role_id;
start->tag = WL1271_SCAN_DEFAULT_TAG; start->tag = WL1271_SCAN_DEFAULT_TAG;
ret = wl1271_cmd_send(wl, CMD_START_PERIODIC_SCAN, start, ret = wl1271_cmd_send(wl, CMD_START_PERIODIC_SCAN, start,
...@@ -810,7 +806,7 @@ void wl1271_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif) ...@@ -810,7 +806,7 @@ void wl1271_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif)
return; return;
} }
stop->role_id = wlvif->dev_role_id; stop->role_id = wlvif->role_id;
stop->tag = WL1271_SCAN_DEFAULT_TAG; stop->tag = WL1271_SCAN_DEFAULT_TAG;
ret = wl1271_cmd_send(wl, CMD_STOP_PERIODIC_SCAN, stop, ret = wl1271_cmd_send(wl, CMD_STOP_PERIODIC_SCAN, stop,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment