Merge "cfg80211: Define macro to indicate prev_bssid connect support"
This commit is contained in:
commit
01b7812ef9
5 changed files with 18 additions and 1 deletions
|
@ -63,6 +63,9 @@
|
||||||
|
|
||||||
struct wiphy;
|
struct wiphy;
|
||||||
|
|
||||||
|
#define CFG80211_SCAN_BSSID 1
|
||||||
|
#define CFG80211_CONNECT_PREV_BSSID 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wireless hardware capability structures
|
* wireless hardware capability structures
|
||||||
*/
|
*/
|
||||||
|
@ -1455,6 +1458,7 @@ struct cfg80211_ssid {
|
||||||
* @mac_addr_mask: MAC address mask used with randomisation, bits that
|
* @mac_addr_mask: MAC address mask used with randomisation, bits that
|
||||||
* are 0 in the mask should be randomised, bits that are 1 should
|
* are 0 in the mask should be randomised, bits that are 1 should
|
||||||
* be taken from the @mac_addr
|
* be taken from the @mac_addr
|
||||||
|
* @bssid: BSSID to scan for (most commonly, the wildcard BSSID)
|
||||||
*/
|
*/
|
||||||
struct cfg80211_scan_request {
|
struct cfg80211_scan_request {
|
||||||
struct cfg80211_ssid *ssids;
|
struct cfg80211_ssid *ssids;
|
||||||
|
@ -1471,6 +1475,7 @@ struct cfg80211_scan_request {
|
||||||
|
|
||||||
u8 mac_addr[ETH_ALEN] __aligned(2);
|
u8 mac_addr[ETH_ALEN] __aligned(2);
|
||||||
u8 mac_addr_mask[ETH_ALEN] __aligned(2);
|
u8 mac_addr_mask[ETH_ALEN] __aligned(2);
|
||||||
|
u8 bssid[ETH_ALEN] __aligned(2);
|
||||||
|
|
||||||
/* internal */
|
/* internal */
|
||||||
struct wiphy *wiphy;
|
struct wiphy *wiphy;
|
||||||
|
|
|
@ -322,7 +322,9 @@
|
||||||
* @NL80211_CMD_GET_SCAN: get scan results
|
* @NL80211_CMD_GET_SCAN: get scan results
|
||||||
* @NL80211_CMD_TRIGGER_SCAN: trigger a new scan with the given parameters
|
* @NL80211_CMD_TRIGGER_SCAN: trigger a new scan with the given parameters
|
||||||
* %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the
|
* %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the
|
||||||
* probe requests at CCK rate or not.
|
* probe requests at CCK rate or not. %NL80211_ATTR_MAC can be used to
|
||||||
|
* specify a BSSID to scan for; if not included, the wildcard BSSID will
|
||||||
|
* be used.
|
||||||
* @NL80211_CMD_NEW_SCAN_RESULTS: scan notification (as a reply to
|
* @NL80211_CMD_NEW_SCAN_RESULTS: scan notification (as a reply to
|
||||||
* NL80211_CMD_GET_SCAN and on the "scan" multicast group)
|
* NL80211_CMD_GET_SCAN and on the "scan" multicast group)
|
||||||
* @NL80211_CMD_SCAN_ABORTED: scan was aborted, for unspecified reasons,
|
* @NL80211_CMD_SCAN_ABORTED: scan was aborted, for unspecified reasons,
|
||||||
|
|
|
@ -6022,6 +6022,12 @@ static int nl80211_trigger_scan(struct sk_buff *skb, struct genl_info *info)
|
||||||
request->no_cck =
|
request->no_cck =
|
||||||
nla_get_flag(info->attrs[NL80211_ATTR_TX_NO_CCK_RATE]);
|
nla_get_flag(info->attrs[NL80211_ATTR_TX_NO_CCK_RATE]);
|
||||||
|
|
||||||
|
if (info->attrs[NL80211_ATTR_MAC])
|
||||||
|
memcpy(request->bssid, nla_data(info->attrs[NL80211_ATTR_MAC]),
|
||||||
|
ETH_ALEN);
|
||||||
|
else
|
||||||
|
eth_broadcast_addr(request->bssid);
|
||||||
|
|
||||||
request->wdev = wdev;
|
request->wdev = wdev;
|
||||||
request->wiphy = &rdev->wiphy;
|
request->wiphy = &rdev->wiphy;
|
||||||
request->scan_start = jiffies;
|
request->scan_start = jiffies;
|
||||||
|
|
|
@ -1293,6 +1293,8 @@ int cfg80211_wext_siwscan(struct net_device *dev,
|
||||||
if (wiphy->bands[i])
|
if (wiphy->bands[i])
|
||||||
creq->rates[i] = (1 << wiphy->bands[i]->n_bitrates) - 1;
|
creq->rates[i] = (1 << wiphy->bands[i]->n_bitrates) - 1;
|
||||||
|
|
||||||
|
eth_broadcast_addr(creq->bssid);
|
||||||
|
|
||||||
rdev->scan_req = creq;
|
rdev->scan_req = creq;
|
||||||
err = rdev_scan(rdev, creq);
|
err = rdev_scan(rdev, creq);
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|
|
@ -142,6 +142,8 @@ static int cfg80211_conn_scan(struct wireless_dev *wdev)
|
||||||
wdev->conn->params.ssid_len);
|
wdev->conn->params.ssid_len);
|
||||||
request->ssids[0].ssid_len = wdev->conn->params.ssid_len;
|
request->ssids[0].ssid_len = wdev->conn->params.ssid_len;
|
||||||
|
|
||||||
|
eth_broadcast_addr(request->bssid);
|
||||||
|
|
||||||
request->wdev = wdev;
|
request->wdev = wdev;
|
||||||
request->wiphy = &rdev->wiphy;
|
request->wiphy = &rdev->wiphy;
|
||||||
request->scan_start = jiffies;
|
request->scan_start = jiffies;
|
||||||
|
|
Loading…
Add table
Reference in a new issue