mac80211: implement scan supported rates
Scanning currently uses the TX rate mask to restrict the rate set, which is bogus. Make it use the new set of rates from userspace. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
34850ab25d
commit
85a237fe30
@@ -228,7 +228,6 @@ ieee80211_scan_rx(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb)
|
||||
static bool ieee80211_prep_hw_scan(struct ieee80211_local *local)
|
||||
{
|
||||
struct cfg80211_scan_request *req = local->scan_req;
|
||||
struct ieee80211_sub_if_data *sdata = local->scan_sdata;
|
||||
enum ieee80211_band band;
|
||||
int i, ielen, n_chans;
|
||||
|
||||
@@ -253,7 +252,7 @@ static bool ieee80211_prep_hw_scan(struct ieee80211_local *local)
|
||||
|
||||
ielen = ieee80211_build_preq_ies(local, (u8 *)local->hw_scan_req->ie,
|
||||
req->ie, req->ie_len, band,
|
||||
sdata->rc_rateidx_mask[band], 0);
|
||||
req->rates[band], 0);
|
||||
local->hw_scan_req->ie_len = ielen;
|
||||
|
||||
return true;
|
||||
@@ -653,6 +652,7 @@ static void ieee80211_scan_state_send_probe(struct ieee80211_local *local,
|
||||
{
|
||||
int i;
|
||||
struct ieee80211_sub_if_data *sdata = local->scan_sdata;
|
||||
enum ieee80211_band band = local->hw.conf.channel->band;
|
||||
|
||||
for (i = 0; i < local->scan_req->n_ssids; i++)
|
||||
ieee80211_send_probe_req(
|
||||
@@ -660,7 +660,7 @@ static void ieee80211_scan_state_send_probe(struct ieee80211_local *local,
|
||||
local->scan_req->ssids[i].ssid,
|
||||
local->scan_req->ssids[i].ssid_len,
|
||||
local->scan_req->ie, local->scan_req->ie_len,
|
||||
false);
|
||||
local->scan_req->rates[band], false);
|
||||
|
||||
/*
|
||||
* After sending probe requests, wait for probe responses
|
||||
|
Reference in New Issue
Block a user