aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorVivek Natarajan <nataraja@qca.qualcomm.com>2011-08-29 04:53:03 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-09-13 15:42:31 -0400
commitf4b34b550a5428345f3794e62de48ad5a3db3954 (patch)
tree50d5c3b482bd018069fdde870f0c472808156070 /include
parentf0425beda4d404a6e751439b562100b902ba9c98 (diff)
cfg80211/nl80211: Indicate roaming feature capability to userspace.
When the rssi of the current AP drops, both wpa_supplicant and the firmware may do a background scan to find a better AP and try to associate. Since firmware based roaming is faster, inform wpa_supplicant to avoid roaming and let the firmware decide to roam if necessary. For fullmac drivers like ath6kl, it is just enough to provide the ESSID and the firmware will decide on the BSSID. Since it is not possible to do pre-auth during roaming for fullmac drivers, the wpa_supplicant needs to completely disconnect with the old AP and reconnect with the new AP. This consumes lot of time and it is better to leave the roaming decision to the firmware. Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nl80211.h5
-rw-r--r--include/net/cfg80211.h3
2 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index 0343504082a8..f2d75e3ceb43 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -1045,6 +1045,9 @@ enum nl80211_commands {
1045 * @NL80211_ATTR_STA_WME: Nested attribute containing the wme configuration 1045 * @NL80211_ATTR_STA_WME: Nested attribute containing the wme configuration
1046 * of the station, see &enum nl80211_sta_wme_attr. 1046 * of the station, see &enum nl80211_sta_wme_attr.
1047 * 1047 *
1048 * @NL80211_ATTR_ROAM_SUPPORT: Indicates whether the firmware is capable of
1049 * roaming to another AP in the same ESS if the signal lever is low.
1050 *
1048 * @NL80211_ATTR_MAX: highest attribute number currently defined 1051 * @NL80211_ATTR_MAX: highest attribute number currently defined
1049 * @__NL80211_ATTR_AFTER_LAST: internal use 1052 * @__NL80211_ATTR_AFTER_LAST: internal use
1050 */ 1053 */
@@ -1257,6 +1260,8 @@ enum nl80211_attrs {
1257 1260
1258 NL80211_ATTR_STA_WME, 1261 NL80211_ATTR_STA_WME,
1259 1262
1263 NL80211_ATTR_ROAM_SUPPORT,
1264
1260 /* add attributes here, update the policy in nl80211.c */ 1265 /* add attributes here, update the policy in nl80211.c */
1261 1266
1262 __NL80211_ATTR_AFTER_LAST, 1267 __NL80211_ATTR_AFTER_LAST,
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index eb2659aefd97..53609dec2c9f 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1619,6 +1619,8 @@ struct cfg80211_ops {
1619 * @WIPHY_FLAG_MESH_AUTH: The device supports mesh authentication by routing 1619 * @WIPHY_FLAG_MESH_AUTH: The device supports mesh authentication by routing
1620 * auth frames to userspace. See @NL80211_MESH_SETUP_USERSPACE_AUTH. 1620 * auth frames to userspace. See @NL80211_MESH_SETUP_USERSPACE_AUTH.
1621 * @WIPHY_FLAG_SUPPORTS_SCHED_SCAN: The device supports scheduled scans. 1621 * @WIPHY_FLAG_SUPPORTS_SCHED_SCAN: The device supports scheduled scans.
1622 * @WIPHY_FLAG_SUPPORTS_FW_ROAM: The device supports roaming feature in the
1623 * firmware.
1622 */ 1624 */
1623enum wiphy_flags { 1625enum wiphy_flags {
1624 WIPHY_FLAG_CUSTOM_REGULATORY = BIT(0), 1626 WIPHY_FLAG_CUSTOM_REGULATORY = BIT(0),
@@ -1633,6 +1635,7 @@ enum wiphy_flags {
1633 WIPHY_FLAG_MESH_AUTH = BIT(10), 1635 WIPHY_FLAG_MESH_AUTH = BIT(10),
1634 WIPHY_FLAG_SUPPORTS_SCHED_SCAN = BIT(11), 1636 WIPHY_FLAG_SUPPORTS_SCHED_SCAN = BIT(11),
1635 WIPHY_FLAG_ENFORCE_COMBINATIONS = BIT(12), 1637 WIPHY_FLAG_ENFORCE_COMBINATIONS = BIT(12),
1638 WIPHY_FLAG_SUPPORTS_FW_ROAM = BIT(13),
1636}; 1639};
1637 1640
1638/** 1641/**