Commit Graph

470 Commits

Author SHA1 Message Date
Arun Kumar Khandavalli
c05a963017 qcacmn: Add additional vendor specific hang reason codes
Add additional hang reason codes in enum qca_wlan_vendor_hang_reason to
address potential internal failure cases.

Change-Id: I4bf154805d3e06241e9fdd799f1e6ffc4c046fca
CRs-Fixed: 2803747
2020-10-30 17:07:39 -07:00
gaurank kathpalia
b8b58d8d12 qcacmn: Move disconnect wait logic from osif to connection mgr
Move disconnect wait logic from osif to connection mgr, so that
MLO/IF manager can use the wait logic for disconnect
during vdev delete.

Change-Id: Ied2bbcfd6a532209f8008499424f94acc41efc0e
CRs-Fixed: 2800990
2020-10-29 17:51:00 -07:00
Abhishek Ambure
58c169c64c qcacmn: Add proprietary status codes for disconnection
Host adds internal status code in enum wlan_status_code.

Change-Id: I17cdcee9f0df1e34cc13425a4f06985a418d5a8a
CRs-Fixed: 2799197
2020-10-28 15:33:28 -07:00
Abhishek Ambure
749c39466e qcacmn: Add test config attr to start/stop transmitting FD frames
Define QCA vendor attribute
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FILS_DISCOVERY_FRAMES_TX to
dynamically start/stop transmitting FILS discovery frames.

Change-Id: If0b07567c8b9c1278b9a6fd7b2f2d574d7f233bc
CRs-fixed: 2800970
2020-10-27 10:53:24 -07:00
Abhishek Ambure
4bf92518ab qcacmn: Add reason codes to report various connect fail
The connection process fails for several reasons and the status codes
defined in IEEE802.11 specification doesn't cover the locally generated
reason codes. Add an attribute to QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO
vendor sub command which can be used by driver/firmware to report various
additional reason codes for connection failures.

Change-Id: Ibab4696fba34f7a18fb8b5f8601e90c5dfcba89e
CRs-Fixed: 2799153
2020-10-27 06:56:04 -07:00
Ashish Kumar Dhanotiya
6a2457fc27 qcacmn: Add conversion of all auth type for big data
Currently host does not convert all internal auth types
to qca auth types which results in invalid auth type
indication for big data logging even for some of the
valid auth types.
For example in current scenario connection hapens in SAE
auth type but driver indicates invalid AKM type.
To address above issue add missing auth type and send
proper auth type to user space as part of the big data
logging.

Change-Id: I2612a081385c2bc888afb032cf6fd2a44d886e40
CRs-Fixed: 2803348
2020-10-23 14:50:22 -07:00
Abhishek Singh
7fd4d073bc qcacmn: Unlink BSS on connect timeout and peer/southbound disconnect
Unlink BSS on connect timeouts like AUTH/JOIN/ASSOC timeout and
in case of no candidate found. This is to avoid reconnect without
a scan.

Also remove entry if diconnect from peer or south bound disconnect
due to heartbeat failure, sta kickout etc.

Change-Id: Ie78c7e764e8c009a5d19ed5dda9c6b9bbf75196f
CRs-Fixed: 2798188
2020-10-23 10:03:21 -07:00
Ashish Kumar Dhanotiya
88efb959a6 qcacmn: Initialize osif and legacy callbacks for connection manager
Initialize osif callbacks to connection manager and add
legacy callbacks to osif and initialize these legacy callbacks
for connection manager.

Change-Id: Ic3e8bd6f55b6cdbbc8cdd5c9c3a6631e8d3bd83e
CRs-Fixed: 2797472
2020-10-21 07:20:51 -07:00
Liangwei Dong
4b19fb77ee qcacmn: Add new QCA vendor attributes to get thermal level
Add new QCA vendor attributes to get thermal level from driver.
Driver will return thermal level upon userspace requests or sent
thermal event when firmware indicates theraml level changes.

Change-Id: I86b3ac34466d57cbd713cf72a7eb883677883a21
CRs-Fixed: 2786642
2020-10-18 21:59:40 -07:00
Deeksha Gupta
cb19f4475c qcacmn: Change the vendor attributes name in wake lock stats
Wake lock stats vendor command attribute names in
the driver are different from the attribute names
in upstream qca-vendor.h.
Change the wake lock stats attributes name in driver.

Change-Id: I761aa07dacd6a7424759ae1e501053428275b113
CRs-Fixed: 2789538
2020-10-15 23:52:02 -07:00
Abhishek Singh
2e046c6e96 qcacmn: Add params in connect req to pass non converged params
Add connect params in osif connect request to pass scan IE and other
params from legacy to be used in connect request.

Change-Id: I83721023362ff2405727316f090671468200b362
CRs-Fixed: 2793280
2020-10-14 01:17:12 -07:00
Jingxiang Ge
f1bed41f65 qcacmn: QCA vendor attributes for setting ANI level
Define QCA vendor attribute in SET(GET)_WIFI_CONFIGURATION to
dynamically configure ANI level.

Change-Id: I422c6301f2e4c207b58a2d85199dd4a47f031236
CRs-Fixed: 2781047
2020-10-12 22:11:12 -07:00
Ashish Kumar Dhanotiya
5da344f9b7 qcacmn: Resolve compilation issues in connection manager
Address compilation errors in connection manager.

Change-Id: I0ba9d93b64bbfe2ca4fd29e3726e1f22d70f8b54
CRs-Fixed: 2793583
2020-10-12 12:46:45 -07:00
Pragaspathi Thilagaraj
3ffa89227c qcacmn: Add additional roam triggers to qca_vendor_roam_triggers
Introduce QCA_ATTR_ROAM_CONTROL_SCAN_SCHEME_TRIGGERS
that represents the triggers for which the scan scheme from
enum qca_roam_scan_scheme has to be applied.

Change-Id: I9d620a0ada16093042befaf8ae2e80437369c256
CRs-Fixed: 2785260
2020-10-09 06:47:32 -07:00
Chaoli Zhou
ef806a62d2 qcacmn: Add GPIO configuration OSIF code
Add OSIF APIs for GPIO config

Change-Id: I091c3b21a7dd12dfee5aa5f05d3d1d0557d16792
2020-10-08 15:34:12 -07:00
Abhishek Singh
9d01a66a5e qcacmn: Add disconnect sync API to wait for disconnect to complete
Add sync API for disconnect to wait for disconnect to complete.
This can be used during vdev delete sequence to move the vdev and
connection manager SM to init state before VDEV is marked logically
deleted.

Change-Id: Id562e444cf1995d800b8268f906f811f143d0fc9
CRs-Fixed: 2790885
2020-10-07 12:48:56 -07:00
Ashish Kumar Dhanotiya
6bac5aefe2 qcacmn: Resolve compilation errors
Change Ic166c112189ef79a84f61d16e7e04a6334c61178 renames
few files for osif in connection manager, but does not
take care of the compilation issue after rename of the files.

Add a change to take care of the compilation errors in
connection manager module.

Change-Id: Icecb3f7aa625a65b835c15890fc019917e2b9446
CRs-Fixed: 2786828
2020-10-01 21:20:53 -07:00
Rajasekaran Kalidoss
3c4ca49728 qcacmn: Add a new status code to represent an already suspended TWT session
The firmware sends a new status code to indicate an already suspended
TWT session. Update the status code enum to represent this state.

CRs-Fixed: 2784214
Change-Id: I7663ae1e1477919b7e93b0dcebd5287dc3e87263
2020-09-26 11:43:58 -07:00
Ashish Kumar Dhanotiya
7232e077f7 qcacmn: Update crypto params based on IEs for connect request
Currently connection manager does not update crypto params
of connect request based on RSN/WPA/WAPI IEs.

Add logic to update the connect params based on IEs.

Change-Id: I74aba3c061ed5fc203be7270dcc244f14718c781
CRs-Fixed: 2777574
2020-09-24 00:13:41 -07:00
Min Liu
7c122af366 qcacmn: Add a vendor command for medium assessment
Introduce a vendor command for medium assessment through
QCA_NL80211_VENDOR_SUBCMD_MEDIUM_ASSESS.

Change-Id: Iacce974c862a9899de853be70858a47ae719b541
CRs-Fixed: 2766103
2020-09-22 02:58:48 -07:00
Min Liu
9b469e30f9 qcacmn: Relocation of API and enum definition
Relocation of API and enum definition.

Change-Id: Ice7877b1271b8f58780367fbfd8c2637afc52f35
CRs-Fixed: 2773551
2020-09-22 02:58:45 -07:00
Ashish Kumar Dhanotiya
05d0f49abd qcacmn: Rename osif files and functions for connection manager
The naming of the osif files and functions is not correct as
these files and functions include wlan_cfg80211 as prefix
instead of osif.
Correct file name and function name should contain the component
name first, followed by feature name followed by method.

Change-Id: Ic166c112189ef79a84f61d16e7e04a6334c61178
CRs-Fixed: 2780298
2020-09-21 12:22:43 -07:00
Abhishek Singh
e1fb6b17d4 qcacmn: Add reason code enum and prints in connect and disconnect
Add reason code enum and prints in connect and disconnect handlers,
also take care of the vendor reason code during disconnect resp.

Change-Id: I1298e0739bd08d7d43fcb3839a07459819207196
CRs-Fixed: 2778233
2020-09-20 21:53:39 -07:00
Abhishek Singh
b494f209e8 qcacmn: Fix connection manager osif context initialization
Rename connection manager osif context and move the init and deinit
to osif from umac.

Change-Id: Id320e1b0e9bf53f1a2aa4a5bc536d6dec7f63bf2
CRs-Fixed: 2779890
2020-09-18 15:17:19 -07:00
Pooventhiran G
df0c00317b qcacmn: QCA vendor command to update SSID
Add a QCA vendor subcommand QCA_NL80211_VENDOR_SUBCMD_UPDATE_SSID
to update the new SSID in hostapd. NL80211_ATTR_SSID is used to
encapsulate the new SSID.

Change-Id: I0c6e00afefa8cf00ceb58b4cdf72958f2ece8307
CRs-fixed: 2774888
2020-09-17 21:09:14 -07:00
Ashish Kumar Dhanotiya
76c1c5f124 qcacmn: Handle connect response in osif for connection manager
Add connection manager connect response handler in osif to
handle and send the connect response to kernel.

Change-Id: If675055cb2133e64b4b32a47271b12a59eac4a66
CRs-Fixed: 2765977
2020-09-15 02:46:07 -07:00
Naresh Parati
566294eb0e qcacmn: Add QCA vendor attributes for ACS over EDMG (IEEE 802.11ay)
QCA_WLAN_VENDOR_ATTR_ACS_EDMG_ENABLED, conduct ACS for EDMG.
QCA_WLAN_VENDOR_ATTR_ACS_EDMG_CHANNEL, return the EDMG channel.

Change-Id: I4b78aea28e3e6be90b1c19e1a4dcfe84eaafa623
2020-09-12 08:17:19 -07:00
Ashish Kumar Dhanotiya
45a6ac131e qcacmn: Handle disconnect ind to kernel for connection manager
Add support in connection manager for disconnect done indication
to kernel.

Change-Id: Ia4e767a95403de04268ed8c5e424974788c90b17
CRs-Fixed: 2765978
2020-09-11 23:39:42 -07:00
Abhishek Ambure
d2b4830a59 qcacmn: Add vendor attributes to configure FT/OCV/SAE test params
Add new QCA vendor attributes to configure RSNXE Used (FTE), ignore CSA,
ignore SA Query timeout and OCI frequency override with QCA vendor command
QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION for STA testbed role.

Change-Id: I8f46361023444661bd522c8731b4edd864c8cff6
CRs-Fixed: 2759772
2020-09-11 13:55:49 -07:00
Abhishek Ambure
fab923f17e qcacmn: Add get_sta_info vendor attrs to get BIP failure counters
Add support to get number of MIC errors, missing MME incidents, and
packet replay incidents observed while using IGTK/BIGTK keys when PMF
and/or beacon protection features are enabled.

These counters applicable only for STA mode and user gets those
through the QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO vendor command.

Change-Id: Ifae1fd43f41f280a5b677b89aa90bbb51bb96930
CRs-Fixed: 2757861
2020-09-11 11:50:25 -07:00
gaurank kathpalia
d69cadae0c qcacmn: Add changes to add and delete connection mgr req
Add changes in connection manager to add and delete connection mgr
request from the cm ctx list. Also make changes to add support
to get cm id for these requests.

Change-Id: I33706e01ea684e8c3524407ca9b4c67d438db8a5
CRs-Fixed: 2770693
2020-09-11 07:36:47 -07:00
Ashish Kumar Dhanotiya
532ecd2521 qcacmn: Update connection manager command id and source in osif
Currently connection manager command id and source of the
connect/disconnect request is not getting updated in osif.
Add a change to update the connection manager command id and
source of the request in osif.

Change-Id: Icbf33680bd898ac026ac50f08b57641dfe481f55
CRs-Fixed: 2765976
2020-09-11 05:24:50 -07:00
Srinivas Pitla
0e92e82f74 qcacmn: Add QCA_NL80211_VENDOR_SUBCMD_MBSSID_TX_VDEV_STATUS
This change adds QCA_NL80211_VENDOR_SUBCMD_MBSSID_TX_VDEV_STATUS,
and enum for qca_wlan_vendor_attr_mbssid_tx_vdev_status

Change-Id: I4c3f070b29c25f095afdfd587e3f35cb160aefc7
CRs-Fixed: 2759232
2020-09-09 20:47:32 -07:00
Chaoli Zhou
f855cb66d1 qcacmn: QCA vendor interface for GPIO Configuration
Add gpio configuration vendor interface to set target
gpio configuration and output info, meanwhile add
GPIO component id

Change-Id: I0b551cd63b61675406fe37549f2efeca1a2999bf
2020-09-08 02:50:52 -07:00
Debasis Das
10aab5f245 qcacmn: Make API that informs about scan status non-static
The API wlan_cfg80211_scan_done() abstracts the kernel
API cfg80211_scan_done().This should be made accessible
throughout the driver by making it non-static.

Change-Id: Ic1a882a115d11339909e62e53f040774d5370981
2020-09-08 00:47:40 -07:00
Min Liu
0e80359c3e qcacmn: Additional stats through QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO
This commit introduces additional stats to query through
QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO.

Change-Id: Ibc713d1da81a5bf8fa267a205680aec5539630ce
CRs-Fixed: 2758484
2020-09-03 01:58:42 -07:00
Ashish Kumar Dhanotiya
4fd0241eff qcacmn: Add os_if callbacks for connection manager
Add support for osif callbacks for connection manager.

Change-Id: Ibe86c94ac86e17f7ac42ad4c62426225f32c382e
CRs-Fixed: 2758023
2020-09-01 05:37:28 -07:00
Bapiraju Alla
cc025bf48c qcacmn: Access scan_req_q under lock
Currently, list empty checks for scan_req_q is done outside the lock.
This is causing synchronization issue during scan and SSR/vdev delete
in parallel.

To avoid this, check for scan_req_q empty inside the lock.

This change also updates the return type of
wlan_schedule_scan_start_request to QDF_STATUS, which is expected by
caller API.

Change-Id: I8b6febdd98af7856fb047b1c9d852e4944a137b5
CRs-Fixed: 2763173
2020-08-31 17:21:33 -07:00
Pragaspathi Thilagaraj
4545f87402 qcacmn: Add support for num of chains configuration nl command
Add support to configure the number of chains over the nl
vendor command
QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_TX_CHAINS
QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_RX_CHAINS.

Change-Id: I81eeda348efe36e03620687e81c082d3869fcd35
CRs-Fixed: 2756676
2020-08-31 17:21:18 -07:00
Srinivas Girigowda
a4dbe43acf qcacmn: os_if: Replace QDF_MAC_ADR_STR/ARRAY with QDF_FULL_MAC_FMT/REF
Replace QDF_MAC_ADR_STR/ARRAY with QDF_FULL_MAC_FMT/REF.

CRs-Fixed: 2763028
Change-Id: Ife19dea018bd50d60ef9450fd65bdc39a32ab729
2020-08-28 02:01:07 -07:00
Chaithanya Garrepalli
58b018079f qcacmn: add vendor command for wifistats
Add new vendor command QCA_NL80211_VENDOR_SUBCMD_WIFI_FW_STATS
which is used for wifistats. Also remove
QCA_NL80211_VENDOR_SUBCMD_HTT_STATS which is wrongly used
in place of QCA_NL80211_VENDOR_SUBCMD_PEER_FLUSH_PENDING

Change-Id: Ia73a09419c22c1206f8f933b9cf4b7f22b0399fd
2020-08-27 18:37:07 -07:00
Rakesh Pillai
66b1bf9608 qcacmn: Fix NULL pointer access for mac address logging
The mac address is tried to be logged from a NULL
bss data pointer, which leads to unwanted behavior.

Remove the logging of mac address from the NULL
bss data pointer.

Change-Id: I83a9e8b1dac0bd4983bf074863987d39187f9db9
CRs-Fixed: 2761731
2020-08-26 03:56:09 -07:00
Srinivas Girigowda
5fc5aec1d9 qcacmn: os_if: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2760938
Change-Id: I15e51b89e25915feca98da6e7ed89237b415707b
2020-08-23 23:09:40 -07:00
Alan Chen
321ed86cde qcacmn: Add console logging for bss found during scan
Add logic to log number of bss found in dmesg during scan.

Change-Id: Idfa5c548c509f2f0669fd635eb4cae16b23f3990
CRs-Fixed: 2759312
2020-08-22 20:31:42 -07:00
Bapiraju Alla
14e5697391 qcacmn: Update channel tx_time and rx_time to user space
Add support for vendor attributes to update channel tx_time
and rx_time to the user space.

Change-Id: Ifdb50d8f7bcdcf8a560d174cd34efcb1991768a9
CRs-Fixed: 2757211
2020-08-21 06:47:55 -07:00
Rajasekaran Kalidoss
8841346dcb qcacmn: Enhancements to the TWT attributes/parameters (vendor command)
This commit does the following enhancements to the TWT interface:

Corrects the documentation for QCA_WLAN_TWT_SUSPEND and
QCA_WLAN_TWT_TERMINATE. Specifies that these operations carry the
parameters obtained through QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS. This
interface is very recently introduced and missed to document the same.
There are no user space or driver components using this interface yet.
Hence, enhancing/modifying the interface.

Corrects the documentation for
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_DURATION. Mentions that the units it
represent is a multiple of 256 microseconds rather than a TU. The host
driver always interpreted this as an unit in 256 microseconds and there
are no user space implementations that are impacted with this change in
the unit. Hence, modifying the documentation.

Introduces QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT2_TWT_SIZE, which is
similar to that of QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT_TWT, but carries
an offset/data of u32 size.

Introduces MAC_ADDR attribute to represent the peer for the TWT setup
and resume operations.

CRs-Fixed: 2755972
Change-Id: I1c43b9942489177af9b48639d1cb4fd20dfdd80b
2020-08-20 08:00:47 -07:00
Min Liu
44150359c9 qcacmn: Move get_peer_info into cp_stats component
Move WMI_REQUEST_PEER_STATS_INFO_CMDID related statistics into
cp_stats component.

Change-Id: Ie57f64e4ee195de30271260887c48ecf76f4a2ff
CRs-Fixed: 2680626
2020-08-14 04:12:25 -07:00
Rajasekaran Kalidoss
9faef79402 qcacmn: Additional TWT attributes for response path and resume
Introduce additional attributes for the TWT response parameters from the
host driver. Also, add ATTR_TWT_RESUME_FLOW_ID for TWT Resume request.

Change-Id: I9fb2d2382acd5d82f8a3322c369d5e580a0a1442
CRs-Fixed: 2751902
2020-08-13 12:43:03 -07:00
gaurank kathpalia
63854a8235 qcacmn: Fix compile and other issues in connect request
Fix minor compile and other issues in connect req in connection
manager

Change-Id: I6c5d3146f4022cc4d12ac847815bca311962400c
CRs-Fixed: 2753498
2020-08-12 19:53:16 -07:00
Ashish Kumar Dhanotiya
64476bcd6c qcacmn: Add connect infra for connection manager
Add connect functions to convert kernel specific connect
request to connection manager specific connection request
for connection manager infrastructure.

Along with the above functions, add the file structure for
connect, disconnect and roam functions for connection
manager infrastructure.

Change-Id: Id4e389d06cea6e39327faef0c119275741574785
CRs-Fixed: 2739318
2020-08-05 13:25:30 -07:00