mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-15 11:08:07 +00:00
mac80211: pass channel to ieee80211_send_probe_req
In multi-channel scenarios, the channel that we will transmit a probe request on isn't always the current channel (which will be NULL anyway) but will instead be the channel that the AP is on. Pass the channel to the ieee80211_send_probe_req() function so it can be used in the different scenarios. The scan code continues to pass the current channel, of course. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
c0af07340a
commit
fe94fe05e9
4 changed files with 11 additions and 7 deletions
|
@ -1472,7 +1472,8 @@ struct sk_buff *ieee80211_build_probe_req(struct ieee80211_sub_if_data *sdata,
|
||||||
void ieee80211_send_probe_req(struct ieee80211_sub_if_data *sdata, u8 *dst,
|
void ieee80211_send_probe_req(struct ieee80211_sub_if_data *sdata, u8 *dst,
|
||||||
const u8 *ssid, size_t ssid_len,
|
const u8 *ssid, size_t ssid_len,
|
||||||
const u8 *ie, size_t ie_len,
|
const u8 *ie, size_t ie_len,
|
||||||
u32 ratemask, bool directed, bool no_cck);
|
u32 ratemask, bool directed, bool no_cck,
|
||||||
|
struct ieee80211_channel *channel);
|
||||||
|
|
||||||
void ieee80211_sta_def_wmm_params(struct ieee80211_sub_if_data *sdata,
|
void ieee80211_sta_def_wmm_params(struct ieee80211_sub_if_data *sdata,
|
||||||
const size_t supp_rates_len,
|
const size_t supp_rates_len,
|
||||||
|
|
|
@ -1577,7 +1577,8 @@ static void ieee80211_mgd_probe_ap_send(struct ieee80211_sub_if_data *sdata)
|
||||||
ssid_len = ssid[1];
|
ssid_len = ssid[1];
|
||||||
|
|
||||||
ieee80211_send_probe_req(sdata, dst, ssid + 2, ssid_len, NULL,
|
ieee80211_send_probe_req(sdata, dst, ssid + 2, ssid_len, NULL,
|
||||||
0, (u32) -1, true, false);
|
0, (u32) -1, true, false,
|
||||||
|
ifmgd->associated->channel);
|
||||||
}
|
}
|
||||||
|
|
||||||
ifmgd->probe_timeout = jiffies + msecs_to_jiffies(probe_wait_ms);
|
ifmgd->probe_timeout = jiffies + msecs_to_jiffies(probe_wait_ms);
|
||||||
|
@ -2704,7 +2705,8 @@ static int ieee80211_probe_auth(struct ieee80211_sub_if_data *sdata)
|
||||||
* will not answer to direct packet in unassociated state.
|
* will not answer to direct packet in unassociated state.
|
||||||
*/
|
*/
|
||||||
ieee80211_send_probe_req(sdata, NULL, ssidie + 2, ssidie[1],
|
ieee80211_send_probe_req(sdata, NULL, ssidie + 2, ssidie[1],
|
||||||
NULL, 0, (u32) -1, true, false);
|
NULL, 0, (u32) -1, true, false,
|
||||||
|
auth_data->bss->channel);
|
||||||
}
|
}
|
||||||
|
|
||||||
auth_data->timeout = jiffies + IEEE80211_AUTH_TIMEOUT;
|
auth_data->timeout = jiffies + IEEE80211_AUTH_TIMEOUT;
|
||||||
|
|
|
@ -416,7 +416,8 @@ static void ieee80211_scan_state_send_probe(struct ieee80211_local *local,
|
||||||
local->scan_req->ssids[i].ssid_len,
|
local->scan_req->ssids[i].ssid_len,
|
||||||
local->scan_req->ie, local->scan_req->ie_len,
|
local->scan_req->ie, local->scan_req->ie_len,
|
||||||
local->scan_req->rates[band], false,
|
local->scan_req->rates[band], false,
|
||||||
local->scan_req->no_cck);
|
local->scan_req->no_cck,
|
||||||
|
local->hw.conf.channel);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* After sending probe requests, wait for probe responses
|
* After sending probe requests, wait for probe responses
|
||||||
|
|
|
@ -1163,12 +1163,12 @@ struct sk_buff *ieee80211_build_probe_req(struct ieee80211_sub_if_data *sdata,
|
||||||
void ieee80211_send_probe_req(struct ieee80211_sub_if_data *sdata, u8 *dst,
|
void ieee80211_send_probe_req(struct ieee80211_sub_if_data *sdata, u8 *dst,
|
||||||
const u8 *ssid, size_t ssid_len,
|
const u8 *ssid, size_t ssid_len,
|
||||||
const u8 *ie, size_t ie_len,
|
const u8 *ie, size_t ie_len,
|
||||||
u32 ratemask, bool directed, bool no_cck)
|
u32 ratemask, bool directed, bool no_cck,
|
||||||
|
struct ieee80211_channel *channel)
|
||||||
{
|
{
|
||||||
struct sk_buff *skb;
|
struct sk_buff *skb;
|
||||||
|
|
||||||
skb = ieee80211_build_probe_req(sdata, dst, ratemask,
|
skb = ieee80211_build_probe_req(sdata, dst, ratemask, channel,
|
||||||
sdata->local->hw.conf.channel,
|
|
||||||
ssid, ssid_len,
|
ssid, ssid_len,
|
||||||
ie, ie_len, directed);
|
ie, ie_len, directed);
|
||||||
if (skb) {
|
if (skb) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue