From 1be34597a9bd11e2a7535a0649bfdd82a42a36ab Mon Sep 17 00:00:00 2001 From: Srinivas Dasari Date: Sun, 16 Feb 2020 18:07:20 +0530 Subject: [PATCH] qcacmn: New get_sta_info attrs for Beacon IE/disconnect reason Add new attributes for getting the Beacon frame IEs and the disconnection reason codes through get_sta_info vendor command. Host driver provides this information in STA mode. Add new attribute to get assoc request IEs of the disconnected peer. Host driver provides this information in SAP mode. The host driver shall give these attributes as a response to the vendor command QCA_NL80211_VENDOR_SUBCMD_GET_STATION. Add the below attributes in to be in sync with userspace, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_FAILURE QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_AVG_RSSI_PER_CHAIN QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_SUCCEED QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_RX_LAST_PKT_RSSI QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_EXHAUST QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_TOTAL_FW QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_FW QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_EXHAUST_FW Change-Id: If2727ea4ecbb157035c0f4a989a1a936a5bca64c CRs-Fixed: 2624843 --- os_if/linux/qca_vendor.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/os_if/linux/qca_vendor.h b/os_if/linux/qca_vendor.h index 3187a6b068ea..dd22a27295df 100644 --- a/os_if/linux/qca_vendor.h +++ b/os_if/linux/qca_vendor.h @@ -878,6 +878,21 @@ enum qca_wlan_auth_type { * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_SGI_ENABLE: * Remote station short GI enable/disable * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_PAD: Attribute type for padding + * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_BEACON_IES: Binary attribute + * containing the raw information elements from Beacon frames. Represents + * the Beacon frames of the current BSS in the connected state. When queried + * in the disconnected state, these IEs correspond to the last connected BSSID. + * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_DRIVER_DISCONNECT_REASON: u32, Driver + * disconnect reason for the last disconnection if the disconnection is + * triggered from the host driver. The values are referred from + * enum qca_disconnect_reason_codes. If the disconnect is from + * peer/userspace this value is QCA_DISCONNECT_REASON_UNSPECIFIED. + * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_ASSOC_REQ_IES: Binary attribute + * Applicable in AP mode only. It contains the raw information elements + * from assoc request frame of the given peer station. User queries with the + * mac address of peer station when it disconnects. Host driver sends + * assoc request frame of the given station. Host driver doesn't provide + * the IEs when the peer station is still in connected state. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AFTER_LAST: After last */ enum qca_wlan_vendor_attr_get_station_info { @@ -908,6 +923,18 @@ enum qca_wlan_vendor_attr_get_station_info { QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_PAD, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_RX_RETRY_COUNT, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_RX_BC_MC_COUNT, + QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_FAILURE, + QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_AVG_RSSI_PER_CHAIN, + QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_SUCCEED, + QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_RX_LAST_PKT_RSSI, + QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY, + QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_EXHAUST, + QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_TOTAL_FW, + QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_FW, + QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_EXHAUST_FW, + QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_BEACON_IES, + QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_DRIVER_DISCONNECT_REASON, + QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_ASSOC_REQ_IES, /* keep last */ QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AFTER_LAST,