Commit Graph

656 Commits

Author SHA1 Message Date
sheenam monga
df4587eb5f qcacmn: Add additional attributes for the QCA vendor command
QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO to get finer details on roaming
behavior, TSF out of sync count, and the latest TX rate, Rate Index used
for the transmission.

Change-Id: I34d112a263a587603f555069c0244f61dc44ec73
CRs-Fixed: 2876411
2021-02-19 02:35:22 -08:00
Amruta Kulkarni
d5cc294f49 qcacmn: Support roam invoke request in connection manager
Add support for roam invoke request in connection manager.

CRs-Fixed: 2869259
Change-Id: I618add058d39e9452530b1950cff57bfe6100448
2021-02-18 03:12:24 -08:00
Ashish Kumar Dhanotiya
4ea435bd55 qcacmn: Add an ini to ignore user configured sched scan params
Currently there is no mechanism in driver to decide whether
to consider the user configured number of sched scan plan or
to configure only 1 schad scan plan.
There is a requirement to configure only one sched scan plan,
add ini support to meet this requiremet.

Change-Id: Iea3bc3f18696837150ce6f4bd60416a8a45bd1d3
CRs-Fixed: 2868125
2021-02-10 12:31:49 -08:00
Ashish Kumar Dhanotiya
e6a652dcc7 qcacmn: Fix connect status and allow connect with null assoc IE
Currently driver rejects connect request if assoc ie length
is 0 or assoc ie is NULL which results in connect failure.

To avoid above issue do not reject connect request if
assoc ie is NULL. Also fix the connect status to send the
proper status code instead of WLAN_STATUS_UNSPECIFIED_FAILURE.

Change-Id: Icb775a88780350fa589ae8db65abdd79980558c6
CRs-Fixed: 2869967
2021-02-08 02:06:43 -08:00
Abhishek Singh
f49b0e6e4d qcacmn: Fix compilating issue in printing fils info
Fix compilating issue in printing fils info.

Change-Id: Ibeca5324df91d1444f387c658f7e84c1fa4dbd81
CRs-Fixed: 2866766
2021-02-01 23:00:25 -08:00
Abhishek Ambure
35135ea9a1 qcacmn: Fix the FILS params set
Host updates proper FILS param set i.e. username, auth_type and
is_fils_connection in the FILS response.

Change-Id: I0c30325bc7d620aa286aae0dd299dec9b26219ff
CRs-Fixed: 2865060
2021-01-29 08:17:50 -08:00
Abhishek Singh
fb8d6c3859 qcacmn: Fix unlink bss is success case
In connection success case the unlink BSS is not required, so
add the status check.

Change-Id: If5e2d02b37865267a096f01f0835bdccbc8e1c3d
CRs-Fixed: 2860102
2021-01-22 20:52:19 -08:00
Abhishek Singh
47108a8af2 qcacmn: Fix mcast cipher for WEP
Fix the param pass to get mcast cipher for WEP.

Change-Id: I25c24d86ffae7d0e4e03d1bf7a9457321a5de9d1
CRs-Fixed: 2859770
2021-01-22 12:07:37 -08:00
gaurank kathpalia
bd8eeecda6 qcacmn: Add missing params for the fils connection
Add missing params for the fils connection.

Change-Id: I7442670c30d7ddee201c2bc328372513302f971d
CRs-Fixed: 2857905
2021-01-21 17:04:45 -08:00
Santosh Anbu
6cc0d45bfd qcacmn: Fix connect resp struct params
Fix connect resp params.
-- Fix length of the assoc req and assoc resp
-- Remove unused params from connect resp

Change-Id: I992b1bf1037bb4a09ecd37501420168c29de8187
CRs-Fixed: 2857372
2021-01-21 03:43:40 -08:00
Himanshu Batra
6e59547918 Revert "qcacmn: Fix connect resp struct params"
Revert "qcacmn: Fix connect resp struct params"

Change-Id: Ib2149f33c9faddd4194644033b61144a3043d21c
2021-01-18 23:52:12 -08:00
Liangwei Dong
f29e4c0315 qcacmn: export wlan_get_connected_vdev_by_bssid API
Export wlan_get_connected_vdev_by_bssid API as utility API.

Change-Id: Ia412d324aaf5b47ab7bece63d9a6e6cbc5c2e06a
CRs-Fixed: 2855501
2021-01-18 05:40:43 -08:00
gaurank kathpalia
6dc7ecfcb8 qcacmn: Fix assignment of vdev in cm_ctx and few prints
Fix the assignment of vdev in cm_ctx and fix few prints.

Change-Id: I5d76ab2ca39a1a84b3987fd9cb566c2f08ecc399
CRs-Fixed: 2856499
2021-01-18 03:27:18 -08:00
gaurank kathpalia
9b7a248d36 qcacmn: Fix connect resp struct params
Fix connect resp params.
-- Fix length of the assoc req and assoc resp
-- Remove unused params from connect resp

Change-Id: I9ae7f4f155e16cd45dad2c99cc471773c9f12b84
CRs-Fixed: 2852445
2021-01-15 01:58:51 -08:00
Santosh Anbu
45a300ce7b qcacmn: Support roaming request to connection manager
Add change to support roaming request to connection manager.

Change-Id: I7f580e042522a245fc6a263d0e8f8b32b2f693f7
CRs-Fixed: 2845076
2021-01-11 01:52:47 -08:00
Alan Chen
8db987a33c qcacmn: Define VENDOR_NLA_POLICY_IPVXXX_ADDR for IPV4/IPV6
Define VENDOR_NLA_POLICY_IPVXXX_ADDR for IPV4/IPV6 to address kernel
version dependency.

Change-Id: If73fe24dc29a65c043af6cf3d797a756a264f602
CRs-Fixed: 2851486
2021-01-09 04:46:50 -08:00
Abhishek Ambure
4fb0c8fccb qcacmn: Add support to save gtk and set hlp data
Host add support to save gtk and set hlp data from fils ie of connect
response.

Change-Id: I5e6b9882359697f09a0935a9c07f3427dbe04cc2
CRs-Fixed: 2849123
2021-01-07 23:29:05 -08:00
Liangwei Dong
22151e9f26 qcacmn: Iterate vdev with "Create" state check
Use safe API - wlan_objmgr_iterate_obj_list to enumerate
vdev. It will check vdev in "create" state by
wlan_objmgr_vdev_try_get_ref.

Change-Id: I650801c07846e22f1863925ed4316c0a24bd9cae
CRs-Fixed: 2849177
2021-01-06 21:54:59 -08:00
Edayilliam Jayadev
9b98e19b51 qcacmn: Add Spectral disabled checks in some APIs
Add Spectral feature disable checks in some APIs
used by other modules.

CRs-Fixed: 2845252
Change-Id: I74d66da2aa85ab0f116ad1a6d2e859f3ee8eeeb9
2020-12-30 07:06:41 -08:00
Santosh Anbu
d36905a34a qcacmn: Add null check for connect request bssid
Add null check for connect request bssid before copying the previous
bssid.

Change-Id: I5b674d99923335673cbcc3ddcbbbc4a6940bad47
CRs-Fixed: 2845808
2020-12-28 23:00:47 -08:00
Himanshu Batra
6df2698a64 qcacmn: Notify kernel if connect fails after cfg change
Notify kernel if connect fails after cfg change

Change-Id: I7cdf9adf5452204411566bd7ac52d67dcbe35481
2020-12-28 13:06:58 -08:00
Pragaspathi Thilagaraj
210ed2bc5f qcacmn: Add Vendor feature capability to notify TWT asynchronous response
The response for the respective TWT operations can either be synchronous
or asynchronous (wherever specified). If synchronous, the response to
this operation is obtained in the corresponding vendor command reply to
the user space. For asynchronous case, the response is obtained as an
event with the same operation type.

Drivers shall support either of these modes but not both simultaneously.
The support for asynchronous mode is advertised through the new flag
QCA_WLAN_VENDOR_FEATURE_TWT_ASYNC_SUPPORT. If the driver does not
include this flag, it shall support synchronous mode.

Change-Id: I359e12c5147b0115158d03a7a08d74beca78455c
CRs-Fixed: 2842872
2020-12-23 11:35:31 -08:00
Pragaspathi Thilagaraj
ae5d79bf9e qcacmn: Add new TWT operations and attributes to TWT Setup and Nudge
Define the following additional TWT operations:
QCA_WLAN_TWT_GET_STATS, QCA_WLAN_TWT_CLEAR_STATS,
QCA_WLAN_TWT_GET_CAPABILITIES, QCA_WLAN_TWT_SETUP_READY_NOTIFY.

Also define new attributes to qca_wlan_vendor_attr_twt_setup
and qca_wlan_vendor_attr_twt_nudge.

Change-Id: I687fd215c13aa12741d8ba7af23507f930d0ec81
CRs-Fixed: 2842072
2020-12-23 11:35:27 -08:00
Liangwei Dong
d4b3e3d043 qcacmn: Don't unlink connected bssid
In dual station case, wlan0 is connected to AP, wlan1
connects to the same ap and will get failed because two
interfaces can not connect to same band (same ap).
At present wlan1 will do unlink bss of ap after connect fail.
This may corrupt the bss tree in kernel because the bss is
still pointed by wlan0’s wdev -> current_bss.
Fix by avoid the unlink bss if the bss is still connected
in any interfaces.

Change-Id: I27c76eca2d4f130addabbdc2600f6959d24c8511
CRs-Fixed: 2837496
2020-12-16 09:55:49 -08:00
Paul Zhang
6e6b928fc5 qcacmn: Add vendor attributes for TWT nudge request
TWT nudge is a combination of suspend and resume in a single request.
Add TWT nudge operation and QCA vendor attributes to support
the TWT nudge request.

Change-Id: Iddc4cb6722e88ad9dd65933091bdaa468718f2cf
CRs-fixed: 2822267
2020-12-14 07:35:28 -08:00
Utkarsh Bhatnagar
4e87e6c554 qcacmn: QCA vendor attributes to configure TX and RX NSS
Define QCA vendor attributes to dynamically configure TX NSS and RX NSS
to be used with QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION and
QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION commands.

Change-Id: I9b3b3d3c5be2abd01fa8669b10c2961c271ecdbb
CRs-Fixed: 2831257
2020-12-03 17:35:17 -08:00
Abdul Muqtadeer Ahmed
aa291dabe2 qcacmn: Vendor specific feature capability for dbs
Add feature capability indication for dbs for the
drivers to advertize support for this.

Change-Id: Ic6941e58a30d6aa6a867a12ddd7a8db5abbb1673
CRs-Fixed: 2821654
2020-12-03 05:36:18 -08:00
Ajit Vaishya
25622b4ed5 qcacmn: Vendor specific feature capability for Adaptive 11r
Add feature capability indication for Adaptive 11r for the
drivers to advertize support for this.

Change-Id: I28da5c3d7d4d841de980c841b1d4c39be12ed295
CRs-Fixed: 2817358
2020-11-30 12:49:27 -08:00
Arun Kumar Khandavalli
66ec120912 qcacmn: Add bus failure reason code to vendor indication
Add bus failure hang reason code in enum qca_wlan_vendor_hang_reason.

Change-Id: I0ea7fff779459a1cccd44c6336a0c49d73f8b37d
CRs-Fixed: 2825302
2020-11-29 23:28:12 -08:00
Yu Wang
ca591b0db7 qcacmn: move component 'coex' to qcacld project
'coex' component is MCC specific, move to qcacld project.

CRs-Fixed: 2721763
Change-Id: I271301c28748f6b14afb59e105cc9f418e43a9c4
2020-11-24 22:51:16 -08:00
Nandha Kishore Easwaran
a90712e15d qcacmn: Add extra parameters to gpio command
Add extra parameters to gpio wmi command since they
are required for smart antenna config.

Change-Id: I3b363c7b508862ded8aacffb9e0a39328e8b2b94
2020-11-23 06:38:30 -08:00
Nandha Kishore Easwaran
de94037c5f qcacmn: Add extra parameters to gpio attr
Add extra parameters mux_config, drive and init_enable
to gpio config command.

Change-Id: I439aec6cbd6769a36c7f5629f9249bdd25466138
2020-11-23 06:38:25 -08:00
Paul Zhang
47c1479e3f qcacmn: Add test configuration attr to enable/disable full bandwidth UL MU-MIMO
Define a QCA vendor attribute
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FULL_BW_UL_MU_MIMO to
enable/disable full bandwidth UL MU-MIMO subfield in the HE PHY
capabilities information field for testing purposes.

Change-Id: I666abb2654603069140bd603ae0377ea01a720fa
CRs-Fixed: 2816951
2020-11-20 08:35:18 -08:00
Abhishek Singh
1853c161d2 qcacmn: Add logic to ignore 6Ghz AP if security is not valid
Add logic to
- Check if connect req freq is 6Ghz and security
  is not allowed for 6Ghz, reject connect.
- Ignore 6Ghz APs if connect req security is invalid
  for 6Ghz

Also added user config key_mgmt_mask_6ghz mask
to allow specific AKMs, by default all are allowed.

Add added user config check_6Ghz_security to enable
security checks as per spec.

Change-Id: I37518731faa4de67a49853e5ac544efa3b3ce1d6
CRs-Fixed: 2813013
2020-11-12 03:28:37 -08:00
Himanshu Batra
50324c2260 qcacmn: Resolve compilation issues for CM
Resolve compilation issues for CM.

Change-Id: I3dc32cb327032ce59786e0d9ab922a8914e13ec3
CRs-Fixed: 2816317
2020-11-11 10:23:51 -08:00
Ashish Kumar Dhanotiya
3faf318e8c qcacmn: Add a check for vdev with bssid mac
There is a possibility that driver already has a vdev
with the mac address same as bssid, in this case sta
should not connect to this AP as it may lead to undefined
behavior.

To address above issue add a check to compare bssid with
already existing vdevs before connect start.

Along with above changes add few renaming changes also.

Change-Id: Ia12be0b392a01bf935b5261e505290064de68805
CRs-Fixed: 2809147
2020-11-04 17:02:00 -08:00
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