From ebb5e8667edc29c42c5e578ab3aa25a911ce7f23 Mon Sep 17 00:00:00 2001 From: Abhishek Ambure Date: Fri, 14 Feb 2020 13:31:42 +0530 Subject: [PATCH] qcacmn: Introduce QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO This acts as a vendor event and is used to update the information of a station from the driver to userspace. Add an attribute for the driver to update the channels scanned in the last connect/roam attempt. Change-Id: I3e87292d6ef00c0242cb583183de2b441352c8a5 CRs-Fixed: 2622092 --- os_if/linux/qca_vendor.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/os_if/linux/qca_vendor.h b/os_if/linux/qca_vendor.h index bd064265173e..637e4cab9027 100644 --- a/os_if/linux/qca_vendor.h +++ b/os_if/linux/qca_vendor.h @@ -377,6 +377,10 @@ * user space for the SAR power limits configuration from user space. If * the driver does not get the SAR power limits from user space for all * the retried attempts, it can configure a default SAR power limit. + * @QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO: This acts as a vendor event and + * is used to update the information about the station from the driver to + * userspace. Uses attributes from enum + * qca_wlan_vendor_attr_update_sta_info. */ enum qca_nl80211_vendor_subcmds { @@ -597,6 +601,7 @@ enum qca_nl80211_vendor_subcmds { QCA_NL80211_VENDOR_SUBCMD_ADD_STA_NODE = 184, QCA_NL80211_VENDOR_SUBCMD_BTC_CHAIN_MODE = 185, QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS_EVENT = 187, + QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO = 188, }; enum qca_wlan_vendor_tos { @@ -720,6 +725,29 @@ enum qca_wlan_vendor_attr_get_station { QCA_WLAN_VENDOR_ATTR_GET_STATION_AFTER_LAST - 1, }; +/** + * enum qca_wlan_vendor_attr_update_sta_info - Defines attributes + * used by QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO vendor command. + * + * @QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_CONNECT_CHANNELS: Type is NLA_UNSPEC. + * Used in STA mode. This attribute represents the list of channel center + * frequencies in MHz (u32) the station has learnt during the last connection + * or roaming attempt. This information shall not signify the channels for + * an explicit scan request from the user space. Host drivers can update this + * information to the user space in both connected and disconnected state. + * In the disconnected state this information shall signify the channels + * scanned in the last connection/roam attempt that lead to the disconnection. + */ +enum qca_wlan_vendor_attr_update_sta_info { + QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_INVALID = 0, + QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_CONNECT_CHANNELS = 1, + + /* keep last */ + QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_AFTER_LAST, + QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_MAX = + QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_AFTER_LAST - 1, +}; + /** * enum qca_wlan_802_11_mode - dot11 mode * @QCA_WLAN_802_11_MODE_11B: mode B @@ -1034,6 +1062,7 @@ enum qca_nl80211_vendor_subcmds_index { QCA_NL80211_VENDOR_SUBCMD_ROAM_INDEX, QCA_NL80211_VENDOR_SUBCMD_OEM_DATA_INDEX, QCA_NL80211_VENDOR_SUBCMD_REQUEST_SAR_LIMITS_INDEX, + QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO_INDEX, }; /**