aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/nl80211.h3
-rw-r--r--include/net/cfg80211.h3
-rw-r--r--net/wireless/nl80211.c4
3 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index 159dda9c2c9f..7ba71e42449e 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -760,6 +760,8 @@ enum nl80211_commands {
760 * scan with a single scheduled scan request, a wiphy attribute. 760 * scan with a single scheduled scan request, a wiphy attribute.
761 * @NL80211_ATTR_MAX_SCAN_IE_LEN: maximum length of information elements 761 * @NL80211_ATTR_MAX_SCAN_IE_LEN: maximum length of information elements
762 * that can be added to a scan request 762 * that can be added to a scan request
763 * @NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN: maximum length of information
764 * elements that can be added to a scheduled scan request
763 * 765 *
764 * @NL80211_ATTR_SCAN_FREQUENCIES: nested attribute with frequencies (in MHz) 766 * @NL80211_ATTR_SCAN_FREQUENCIES: nested attribute with frequencies (in MHz)
765 * @NL80211_ATTR_SCAN_SSIDS: nested attribute with SSIDs, leave out for passive 767 * @NL80211_ATTR_SCAN_SSIDS: nested attribute with SSIDs, leave out for passive
@@ -1213,6 +1215,7 @@ enum nl80211_attrs {
1213 NL80211_ATTR_REKEY_DATA, 1215 NL80211_ATTR_REKEY_DATA,
1214 1216
1215 NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS, 1217 NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS,
1218 NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN,
1216 1219
1217 /* add attributes here, update the policy in nl80211.c */ 1220 /* add attributes here, update the policy in nl80211.c */
1218 1221
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index eef480fb177e..930c783286fc 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1763,6 +1763,8 @@ struct wiphy_wowlan_support {
1763 * @max_scan_ie_len: maximum length of user-controlled IEs device can 1763 * @max_scan_ie_len: maximum length of user-controlled IEs device can
1764 * add to probe request frames transmitted during a scan, must not 1764 * add to probe request frames transmitted during a scan, must not
1765 * include fixed IEs like supported rates 1765 * include fixed IEs like supported rates
1766 * @max_sched_scan_ie_len: same as max_scan_ie_len, but for scheduled
1767 * scans
1766 * @coverage_class: current coverage class 1768 * @coverage_class: current coverage class
1767 * @fw_version: firmware version for ethtool reporting 1769 * @fw_version: firmware version for ethtool reporting
1768 * @hw_version: hardware version for ethtool reporting 1770 * @hw_version: hardware version for ethtool reporting
@@ -1816,6 +1818,7 @@ struct wiphy {
1816 u8 max_scan_ssids; 1818 u8 max_scan_ssids;
1817 u8 max_sched_scan_ssids; 1819 u8 max_sched_scan_ssids;
1818 u16 max_scan_ie_len; 1820 u16 max_scan_ie_len;
1821 u16 max_sched_scan_ie_len;
1819 1822
1820 int n_cipher_suites; 1823 int n_cipher_suites;
1821 const u32 *cipher_suites; 1824 const u32 *cipher_suites;
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 935b58b7caf9..44a3fc2ce38d 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -700,6 +700,8 @@ static int nl80211_send_wiphy(struct sk_buff *msg, u32 pid, u32 seq, int flags,
700 dev->wiphy.max_sched_scan_ssids); 700 dev->wiphy.max_sched_scan_ssids);
701 NLA_PUT_U16(msg, NL80211_ATTR_MAX_SCAN_IE_LEN, 701 NLA_PUT_U16(msg, NL80211_ATTR_MAX_SCAN_IE_LEN,
702 dev->wiphy.max_scan_ie_len); 702 dev->wiphy.max_scan_ie_len);
703 NLA_PUT_U16(msg, NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN,
704 dev->wiphy.max_sched_scan_ie_len);
703 705
704 if (dev->wiphy.flags & WIPHY_FLAG_IBSS_RSN) 706 if (dev->wiphy.flags & WIPHY_FLAG_IBSS_RSN)
705 NLA_PUT_FLAG(msg, NL80211_ATTR_SUPPORT_IBSS_RSN); 707 NLA_PUT_FLAG(msg, NL80211_ATTR_SUPPORT_IBSS_RSN);
@@ -3521,7 +3523,7 @@ static int nl80211_start_sched_scan(struct sk_buff *skb,
3521 else 3523 else
3522 ie_len = 0; 3524 ie_len = 0;
3523 3525
3524 if (ie_len > wiphy->max_scan_ie_len) 3526 if (ie_len > wiphy->max_sched_scan_ie_len)
3525 return -EINVAL; 3527 return -EINVAL;
3526 3528
3527 mutex_lock(&rdev->sched_scan_mtx); 3529 mutex_lock(&rdev->sched_scan_mtx);