Revīziju grafs

679 Revīzijas

Autors SHA1 Ziņojums Datums
Pragaspathi Thilagaraj
d95e7863cd qcacmn: Add support to enable/disable responder 11az ranging
Enable/Disable responder 11az ranging based on the below ini:
"enable_responder_11az_support"

With "enable_responder_11az_support" disabled, the below ext
cap advertisement will be disabled:
Non-TB Ranging Responder
TB Ranging Responder

and below vendor capabilities advertisment will be disabled:
QCA_WLAN_VENDOR_FEATURE_PROT_RANGE_NEGO_AND_MEASURE_AP
QCA_WLAN_VENDOR_FEATURE_SECURE_LTF_AP

Change-Id: I82eb70615f8daf82e98e7600418e07fad0672b76
CRs-Fixed: 3296410
2022-09-29 04:22:45 -07:00
Amruta Kulkarni
c3051031c5 qcacmn: Send roam auth mlo links event
After mlo roaming is complete send roam auth mlo links
event to kernel.
Also populate cfg roam info structure with mlo link info.

Change-Id: I8710e3a53f05c50b7b276d87a39411cb43d0983f
CRs-Fixed: 3279967
2022-09-27 16:23:16 -07:00
Chaoli Zhou
400309d015 qcacmn: Fix compiler warning on shift overflow in QCA vendor definitions
Fx the following compiler error:
qca-vendor.h:5892:54: error: result of ‘1 << 31’ requires 33 bits to represent, but ‘int’ only has 32 bits [-Werror=shift-overflow=]
 5892 |  QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE40INTOL     = 1 << 31,

This "1" needs to be marked unsigned for this case of MSB=1.

Change-Id: I27daebd07d0cbf314459254cfc5906f5e56dd4be
CRs-Fixed: 3299457
2022-09-27 13:22:24 -07:00
Jianmin Zhu
fb43cc12b8 qcacmn: Fix scan with random address failed since wdev is connected
Reproduce steps:
1.	Connect from OSIF success, wdev->connected = true;
2.	Disconnect from target if and reassoc from OSIF happens back to
	back.
3.	Disconnect event is not sent to kernel, wdev->connected keeps
	true, isn't cleared.
4.	Connect from OSIF failed too, wdev->connected keeps true,  isn't
	cleared.
5.	Scan with random address failed since wdev->connected is true.

To fix it, if connect req was a reassoc req and received in not connected
state for race between disconnect from target if and reassoc connect from
OSIF, set reassoc_in_non_connected to send disconnect instead of
connect rsp to kernel to cleanup kernel flags like: wdev->connected.

change-Id: Ibbe38da14e9339b49589216250453b76c7387b57
CRs-Fixed: 3290496
2022-09-22 02:21:43 -07:00
Sreeramya Soratkal
fd8b102007 qcacmn: Validate status of spectral control request processed
Validate the result of spectral specific ucfg control operation
after processing the control request to get the spectral system
capability information and the spectral diag status.

Throw error if it is an invalid operation.

CRs-Fixed: 3272699
Change-Id: Iba1b165caa41a7b4a133e9d9f3df7203a60a2b75
2022-09-21 09:34:44 -07:00
David Oladunjoye
8be4fef5d9 qcacmn: QCA vendor attribute to configure periodic sounding
Add a new QCA vendor attribute to configure the periodic sounding for Tx
beamformer functionality.

Change-Id: Id4b75e992e22facdc58b467aaed29d9b00901fad
CRs-Fixed: 3290371
2022-09-19 14:54:16 -07:00
Adwait Nayak
321fa3cb5f Revert "qcacmn: Do not send the scan entry for nontx profile to cfg80211 layer"
This reverts refer to the Commit-Id
f60c8e57d3.

Change-Id: I4d004ecad6fffd654ee3e90db765acd6cde242c1
CRs-Fixed: 3291428
2022-09-19 00:29:06 -07:00
Ashish Kumar Dhanotiya
09220f783e qcacmn: Process tx and rx rate count from peer stats
Based on the new requirement process tx and rx rate counts
from peer stats response and send these stats to user space
as part of big data stats.

Change-Id: I988f0d6cf6a3537f31433d4f57280336ab58bc38
CRs-Fixed: 3289789
2022-09-17 01:11:22 -07:00
Pragaspathi Thilagaraj
89f5e532f3 qcacmn: Add support for AP secure-LTF capability
Add support to advertise AP secure-LTF capability based
on ini configuration

Change-Id: I8aebbd683694e36d8d16215c0358f5bfb18d5443
CRs-Fixed: 3283114
2022-09-14 09:36:20 -07:00
Adwait Nayak
f60c8e57d3 qcacmn: Do not send the scan entry for nontx profile to cfg80211 layer
Send only the scan entry for Tx profile to upper layer. As in cfg80211,
it goes through every nontx profile to from a new frame.

Change-Id: I4f01a1a5ed61bfd2a2b8a541c8d3be14ffa2e3c9
CRs-Fixed: 3251364
2022-09-08 12:24:20 -07:00
Asutosh Mohapatra
81d86f0f99 qcacmn: Add QCA vendor interface to get SAR capabilities to userspace
Add QCA_NL80211_VENDOR_SUBCMD_GET_SAR_CAPABILITY to get various SAR
capabilities supported by the WLAN firmware to userspace. These
capabilities are usually reported by the firmware during the initial
bootup handshake with the driver. Based on these capabilities, user
space can choose proper SAR indexes.

Change-Id: I31be4bd58dc02fe82ae57f703f7db54f5a3c027e
CRs-Fixed: 3274703
2022-09-05 04:49:09 -07:00
Jianmin Zhu
d012f9e86f qcacmn: Fix OOB when add 6 GHz channels for pno scan
If there are more than 1 preferred network list in schedule scan, after
6 GHz channels added to pno channel list of 1st network list, channel
num is updated and set for 2nd network list wrongly, then OOB happens when
6 GHz channels are added to 2nd network list.

Change-Id: I2658620ce4e6e8dcf93e810c7bc10364e4de7a73
CRs-Fixed: 3280705
2022-09-02 14:32:32 -07:00
Jianmin Zhu
b67ab65175 qcacmn: Enhance QCA vendor roam event to indicate MLO links after reassociation
Enhance QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH event for the
driver to indicate the information of the associated links of MLO
roaming.

Change-Id: I5cede840ec42bb45ec13e35a1f5caa0c0674047a
CRs-Fixed: 3278009
2022-08-31 21:10:24 -07:00
Mohammed Ahmed
fa6e07082f qcacmn: add psoc null pointer check to wlan_objmgr_get_peer_by_mac
Current code directly passes the result of wlan_vdev_get_psoc(vdev) to
wlan_objmgr_get_peer_by_mac, without null pointer checking, which can
result in null pointer dereferencing.
To fix this issue, add checking of the psoc pointer before passing,
and add verification inside wlan_objmgr_get_peer_by_mac.

Change-Id: Iaf0e2535c3a584db788ddc621745c66c296fe08f
CRs-Fixed: 3277651
2022-08-29 22:19:33 -07:00
Jianmin Zhu
640ab03114 qcacmn: Don't treat assoc req as reassoc req
Add a flag to indicate assoc req is used for this roaming,
don't treat assoc req as reassoc req.

Change-Id: I58f357b5581ca71e97841f1d7e0f3daad5d60970
CRs-Fixed: 3273877
2022-08-27 12:09:14 -07:00
Deeksha Gupta
fc9e906e6d qcacmn: Add osif api to get assoc link net device
As per single netdev design, after roaming is completed on link
vdev retrieve assoc link net device and use that for roamed indication
Add osif callback api to hdd to get assoc link net device

Change-Id: I9c8fcd4b095580548b8251818d0f6823df7a52aa
CRs-Fixed: 3274570
2022-08-26 14:21:12 -07:00
Xiaoning Ma
8b1a96a35a qcacmn: Add fixed FDD mode to qca_btc_chain_mode QCA vendor attribute
Previously when chains of BT and WLAN 2.4 GHz are separated,
hybrid mode will be used for BTC. Now adding fixed FDD mode
to fulfill different BTC scenarios.

Change-Id: I8f415ae65160977df478c9bd908e9429d69103c3
CRs-Fixed: 3247146
2022-08-13 15:59:54 -07:00
Rohan Dutta
1f9ff41325 qcacmn: set partner link op-class
Update partner link op-class in station mode

Change-Id: I8d6908253e78adebabab724e7fd89737906367d2
CRs-Fixed: 3206442
2022-08-04 03:55:35 -07:00
Arun Kumar Khandavalli
1630cd3afe qcacmn: Indicate the connect response through new kernel model
Add changes to indicate the connect response for the ml association.

Change-Id: Id59b00992356c9e66a7442e5351bf9372f055f8f
CRs-Fixed: 3241844
2022-08-02 01:15:00 -07:00
Deeksha Gupta
f2db099a03 qcacmn: Revert "qcacmn: Disable 11BE and MLO feature support"
This reverts refer to the Commit-Id
bfe1e87b25.
Driver will enable 11be and MLO feature support.

Change-Id: I8dea7ecc7ac7b8f914c05720aa4c6139f95ab066
CRs-Fixed: 3214037
2022-07-29 12:57:58 -07:00
Pragaspathi Thilagaraj
c73852b323 qcacmn: Fix filling PASN source mac address
Fix the condition to fill the source mac address
during initiate PASN authentication

Change-Id: I997e24e8d4654b6ccb4376b790659f2c79d45256
CRs-Fixed: 3253353
2022-07-29 09:21:04 -07:00
Aravind Kishore Sukla
d7c3414ca0 qcacmn: Add back port flag for multi AKM connect support
Add logic to set back port flag based on Linux kernel version
for multi AKM connect support.

Change-Id: Ia2365afc678edf025f63d4d3c0fc963c97193eb8
CRs-Fixed: 3246135
2022-07-27 07:22:47 -07:00
Deeksha Gupta
b75f0b1100 qcacmn: Fill mlo connect resp parameter if connection is successful
In connect resp, while sending the connect resp indication to supplicant
fill mlo parameters only if connect resp status is successful

Change-Id: Ifa1baf34deaffff68e98b81bd20a4939aaec170f
CRs-Fixed: 3250884
2022-07-25 08:22:04 -07:00
Jianmin Zhu
11ae3a31b7 qcacmn: QCA vendor attribute to configure RX link speed threshold for roaming
Add QCA_ATTR_ROAM_CONTROL_RX_LINKSPEED_THRESHOLD value as the RX link
speed threshold to disable roaming. If the current link speed is above
the threshold, there is no need to roam.

Change-Id: Ifeeacfa9d49de76c28fe968c1eb26b5036261c9a
CRs-Fixed: 3200264
2022-07-22 02:44:01 -07:00
Yu Wang
9788f23284 qcacmn: QCA vendor command for CoAP offload processing
Add vendor command QCA_NL80211_VENDOR_SUBCMD_COAP_OFFLOAD to
enable/disable offload processing in firmware for CoAP messages
(RFC7252: The Constrained Application Protocol) or fetch the
CoAP messages cached during offload processing.

Change-Id: I2eaeba58ec6bc44738f68eb00c36ebdce2eae6f8
CRs-Fixed: 3193633
2022-07-21 21:09:57 -07:00
Arun Kumar Khandavalli
08067d2b67 qcacmn: Add support to send SAE authentication frames with link address
Add feature flag to indicate support for sending authentication
frames with Link Address.

Change-Id: Ifbd28b8d474b28b0e85a23c9c91ebccedb381d9c
CRs-Fixed: 3239304
2022-07-18 16:00:39 -07:00
Jingxiang Ge
8b82e08d02 qcacmn: Add QCA vendor attribute for TIM beacon statistics
Add the following two vendor attributes to send TIM beacon
statistics to userspace which can be used for power saving:
    QCA_WLAN_VENDOR_ATTR_LL_STATS_TIM_BEACON
    QCA_WLAN_VENDOR_ATTR_LL_STATS_TIM_BEACON_ERR

Change-Id: I2986d7e573ed7eaf72a620b928daceccc43b9066
CRs-Fixed: 3234924
2022-07-14 14:48:55 -07:00
Pragaspathi Thilagaraj
38b8236ddc qcacmn: Add support for initiate pasn auth vendor command
Add support for initiate pasn authentication using the vendor
command: QCA_NL80211_VENDOR_SUBCMD_PASN
Fill the below required attributes to initiate PASN:
QCA_WLAN_VENDOR_ATTR_PASN_ACTION
QCA_WLAN_VENDOR_ATTR_PASN_PEERS
QCA_WLAN_VENDOR_ATTR_PASN_PEER_MAC_ADDR
QCA_WLAN_VENDOR_ATTR_PASN_PEER_SRC_ADDR

Change-Id: If33f54eafe5986b4571cc21a80fb0b61578db116
CRs-Fixed: 3232261
2022-07-14 04:12:51 -07:00
Harsh Kumar Bijlani
b1461c9317 qcacmn: Add QCA vendor subcommand and attributes for SCS rule configuration
Add a new vendor subcommand QCA_NL80211_VENDOR_SUBCMD_SCS_RULE_CONFIG
for configuration event of Stream Classification Service (SCS) rule.

Also define the attributes present in this subcommand.

Change-Id: Idab722532f9870a377e5f1c02185bdfe2ccb39eb
CRs-Fixed: 3226253
2022-07-13 00:22:35 -07:00
Harsh Kumar Bijlani
f3aa35e599 qcacmn: Add enum for SCS rule configuration index
Add enum for SCS rule configuration index.
This index is used by vendor subcommand
QCA_NL80211_VENDOR_SUBCMD_SCS_RULE_CONFIG while sending NL event
to SCS daemon.

Change-Id: Ic2491d8ec6c2f13f5c45ebaec189b239f0ee9933
CRs-Fixed: 3241704
2022-07-13 00:22:27 -07:00
Aditya Kodukula
bf46176516 qcacmn: Add QCA vendor attribute to configure DBAM feature
Add a new QCA attribute QCA_WLAN_VENDOR_ATTR_CONFIG_DBAM
to configure Dedicated Bluetooth Antenna Mode (DBAM) feature.
It is used to switch between dedicated antenna mode for BT and
COEX shared antenna mode for WLAN and BT.

Change-Id: Id1e04e8647a0b4ff6bb83f272c0f891aa88f111c
CRs-Fixed: 3239894
2022-07-12 22:33:50 -07:00
Pragaspathi Thilagaraj
788ca7bb89 qcacmn: Set 11az Ranging related feature capabilities
Set 11az Ranging related extended capabilities over the
wiphy extended capabilities. Mask these fields for SAP iface

Change-Id: Ib6ce92f42d7125b4e9532d5c893ffe955be0f0dc
CRs-Fixed: 3235143
2022-07-08 21:30:55 -07:00
Pragaspathi Thilagaraj
ba8cfc391a qcacmn: Add AP and STA specific P802.11az security capabilities (vendor command)
Add feature capability indication for P802.11az security for the drivers
to advertise capabilities such as secure LTF support, secure RTT
measurement exchange support, and protection of range negotiation and
measurement management frames for station and AP interfaces
independently. This allows a more fine-tuned capability indication as an
alternative to the upstream nl80211 mechanism that is not specific to
the operating mode.

Change-Id: I53073fec66abf38986038ab9e4d17531ddd67b5a
CRs-Fixed: 3235149
2022-07-08 21:30:49 -07:00
Pragaspathi Thilagaraj
f0cac26bbb qcacmn: Add support to delete all pasn peers
Add support to delete all pasn peers

Change-Id: I2c3d95cb8994693d8944d69624d2db0992f2f03d
CRs-Fixed: 3158523
2022-07-06 23:08:01 -07:00
Pragaspathi Thilagaraj
b7fa703306 qcacmn: Add support to send PASN commands
Add support to send below PASN commands:
WMI_RTT_PASN_AUTH_STATUS_CMD
WMI_RTT_PASN_DEAUTH_CMD
WMI_VDEV_SET_LTF_KEY_SEED_CMDID

Change-Id: I5a50a634317d0a692feee5be5a36da22b4c5d713
CRs-Fixed: 3154530
2022-07-06 23:07:52 -07:00
Arun Kumar Khandavalli
db02916cc1 qcacmn: Add new cfg80211 wrapper api's Multi link operation
Add new cfg80211 wrapper api's to support single link multi wdev
operation.

Change-Id: Idf245df7a96a85afe5ff1aac5829423d0bee5b85
CRs-Fixed: 3235154
2022-07-05 09:01:26 -07:00
Pragaspathi Thilagaraj
ee69671df1 qcacmn: Donot advertise TB and NTB ranging support
Donot advertise TB and NTB ranging support as kernel
doesn't support that flags.

Change-Id: I43ba16a7130dfc570c371db8474bbc136e576173
CRs-Fixed: 3233041
2022-07-04 16:47:39 -07:00
Pragaspathi Thilagaraj
3f34e08581 qcacmn: Add QCA vendor interface for PASN offload to userspace
Define QCA vendor interface for PASN offload to userspace from the driver.

The driver can send this command as an event to a userspace component to
perform PASN authentication with a list of peers with which the driver
needs to do ranging. The userspace component, if capable of performing
PASN handshake, can perform PASN handshake with all the peer devices and
set the relevant keys by sending the
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT command for each peer
to the driver.

Once PASN handshake is completed with all requested peers, the userspace
component sends consolidated status for all the peers to the driver. The
consolidated report is required for the driver to understand that the
PASN handshake process is complete and whether it succeeded/failed for
each of the peers it was requested for. The secure ranging context is
configured only for the peers with which the PASN handshake succeeded.

When the driver requests PASN keys, the userspace component can set the
keys from its cache if those keys have not already expired and were
derived with the same source MAC address that is requested by the driver
instead of doing the full PASN handshake again.

If the driver detects that current keys of a peer are not valid anymore,
it sends a notification to userspace using the
QCA_NL80211_VENDOR_SUBCMD_PASN command and setting the action to
QCA_WLAN_VENDOR_PASN_ACTION_DELETE_SECURE_RANGING_CONTEXT. The userspace
component should delete the corresponding keys from its cache.

Change-Id: Ib6e2c7baf7728dacf0303513c5a41412dae40b8b
CRs-Fixed: 3224160
2022-06-28 15:37:55 -07:00
Kiran Kumar Lokere
c485929259 qcacmn: QCA vendor command support to get WLAN radio combinations
Vendor command to get the WLAN radio combinations matrix supported by
the device which provides the device simultaneous radio configurations
such as standalone, dual band simultaneous, and single band
simultaneous.

Change-Id: Ic3fb07ede1b716a08c476292446dae3d6ad73ee5
CRs-Fixed: 3214052
2022-06-28 15:37:48 -07:00
Surabhi Vishnoi
29073d2cf5 qcacmn: Add QCA vendor attribute for DO_ACS to allow using existing scan entries
Add a new QCA vendor attribute
QCA_WLAN_VENDOR_ATTR_ACS_LAST_SCAN_AGEOUT_TIME to
QCA_NL80211_VENDOR_SUBCMD_DO_ACS and opportunistically optimize time
taken for ACS scan. Avoid scanning the channels which were scanned
within last QCA_WLAN_VENDOR_ATTR_ACS_LAST_SCAN_AGEOUT_TIME milliseconds
and use scan results from scan results cache for ACS scoring. For other
channels, perform ACS scan and use the received scan results.

Change-Id: I5f57002566870fea7444358711205392e5e84053
CRs-Fixed: 3226134
2022-06-28 14:00:46 -07:00
Pragaspathi Thilagaraj
957b6d2307 qcacmn: Add support to initiate PASN authentication request
Register OSIF callbacks with Wifi_pos module to initiate PASN
authentication request.

Call cfg80211_pasn_auth_request() to initiate PASN authentication
from wpa_supplicant for the list of secure peers.

Change-Id: I52b9518526f1b04ad520f2f19c7a4caa9b62b6b0
CRs-Fixed: 3149968
2022-06-28 12:17:57 -07:00
abhinav kumar
edd1669c23 qcacmn: Handle vendor control command and event
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID: Add support
for a new roam command to get vendor control parameters
from FW. Host needs to send proper param ID in command
(from enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID)
to get corresponding INI value from FW.

WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID:
Add support for a new roam event to get param value
from FW. FW sends this event upon receiving
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID command.

Change-Id: Ic7b3badb14daff183dd36927b4dae6bbc036e6cd
CRs-Fixed: 3225166
2022-06-25 01:08:55 -07:00
Aravind Kishore Sukla
e84ac077e5 qcacmn: Update connect request crypto parameters
Update the connect request crypto parameters based
on the new kernel changes to increase the size of the
akm_suites array in connect request

Change-Id: I6e9cecdb6fa02da5f2b2e238780d3f0fb389c8a2
CRs-Fixed: 3214567
2022-06-24 03:55:06 -07:00
Vinod Kumar Pirla
2c18eafe69 qcacmn: Add vendor event to indicate driver ready after SSR
Add QCA vendor event to indicate user space that the driver
recovery is completed after the internal failure.

Change-Id: Ib65c9773dd64fab36ba10493c27bd670c2bb6d08
CRs-Fixed: 3226415
2022-06-24 00:28:32 -07:00
Pragaspathi Thilagaraj
27b99a6947 qcacmn: Introduce new vendor diag events to indicate reassoc req/res
Add attributes to indicate reassociation request and response events from
driver/firmware.
Introduce new attribute for Association ID.
Add support to listen for BT Coex for SCAN DONE diag event.

Change-Id: Ieedd0d154cd3287aca23c03ca573b87e8127726e
CRs-Fixed: 3221625
2022-06-23 01:59:14 -07:00
Arun Kumar Khandavalli
992242a17a qcacmn: cleanup scan queue in case of SSR & iff going down
When the SSR and interface down happen in parallel,
the driver rejects the interface down since the
recovery is in progress. Kernel ignores the -EAGAIN
request from the driver and as part of NET_DOWN notification
in cfg80211_netdown_notifer the kernel invokes the
___cfg80211_scan_done to free the request but doesn't not send
scan_result indication, since it expects the scan_done work to
get scheduled and then broadcast the request to upperlayer.

The scan done checks currently only if the interface is up replace
it with driver specific internal driver state.

Change-Id: I0e5ac319783b9c1a69e7e19674f76f20da1d1590
CRs-Fixed: 3202812
2022-06-10 21:50:46 -07:00
Gururaj Pandurangi
0195fb45ce qcacmn: QCA vendor attribute to allow eMLSR HW mode
Add QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_11BE_EMLSR_MODE
value to allow or disallow eMLSR hardware mode for 802.11be
MLO capable devices. If this attribute is set to 1, and if
the FW supports this capability too, then the STA host
advertises this capability to AP over assoc request frame.
This attribute will not have any effect on legacy devices
with no 802.11be support.

Reference - https://w1.fi/cgit/hostap/commit/
?id=563162a5f521965e582acc32d7ce3034fa8fb32e

Change-Id: I4ae2cbbc6adcfef8fbc225bef60b3597771786f7
CRs-Fixed: 3185027
2022-06-08 23:52:09 -07:00
Sandeep Puligilla
bfe1e87b25 qcacmn: Disable 11BE and MLO feature support
Disable 11BE and MLO feature support.

Change-Id: I6e9d40c718929c8e47f7ead4fd1333420dd850c7
CRs-Fixed: 3208148
2022-05-27 16:12:16 -07:00
David Oladunjoye
a95ed8ed3c qcacmn: Add back port flag for SA Query Offload support
Need to indicate which Linux Kernel contains support for this feature.
Add logic to set back port flag based on linux kernel version.

Change-Id: Icea20b82c0d6c2d546711214c5b268bee864fc72
CRs-Fixed: 3194602
2022-05-18 19:13:53 -07:00
David Oladunjoye
fba8e37abf qcacmn: Add back port flag for 11be support
Add logic to set back port flag based on linux kernel version.

Change-Id: I2c5fc424e28fb92185df78a2046874b1dd85c436
CRs-Fixed: 3187773
2022-05-18 19:13:41 -07:00