Commit Graph

741 Commits

Author SHA1 Message Date
Deeksha Gupta
f2a2315e31 qcacmn: Introduce new macro to support get TID to link map info
Introduce new macro to support get TID to link map status command
and TID to link response event.

Change-Id: I2f8fc03c306eae7f11d77253ce0ec565c9df2d71
CRs-Fixed: 3431459
2023-04-14 10:13:35 -07:00
Srinivas Girigowda
82089b850a qcacmn: Add QCA vendor command to get the monitor mode status
Add a new vendor command QCA_NL80211_VENDOR_SUBCMD_GET_MONITOR_MODE to
get the local packet capture status in the monitor mode. Add required
attributes to respond with status of the monitor mode. The monitor mode
can be started/configured by using the
QCA_NL80211_VENDOR_SUBCMD_SET_MONITOR_MODE subcommand.

Change-Id: I72edd46f85b545d7aecb3c704441e810db9ca711
CRs-Fixed: 3415711
2023-04-14 08:23:58 -07:00
Nidhi Jain
1192e50c58 qcacmn: Set 11az TBR Responder related feature capabilities
The 11az Trigger Based Ranging for responder related feature
capability is not set currently.
Add 11az TBR responder capabilities.

Change-Id: I0bd9a88231dfc7200895001d109aecdaef4aed59
CRs-Fixed: 3436972
2023-04-06 15:03:26 -07:00
Krupali Dhanvijay
8ca91ab2bf qcacmn: Send Driver disconnect internal reason code to user space
Send the driver disconnect internal reason code as an event to user space
using QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON vendor command.

Change-Id: I0027675b809b94628b6c0c4b8e8286e38fa9f47d
CRs-Fixed: 3371398
2023-04-03 01:35:59 -07:00
Aasir Rasheed
8aa9879aa0 qcacmn: Add QCA vendor commands to set and get MLO links state information
Add a new vendor command and attributes to control and fetch the state
information of the MLO links affiliated with a specific interface.

This will enable user space to dynamically control the MLO links states
based on the latency, throughput and power save requirements.

Change-Id: I1ef710a6f3a1f8723bb3d1c564c0c803bfa0b587
CRs-Fixed: 3416250
2023-04-01 09:14:47 -07:00
Uraj Sasan
ab8cf64ef0 qcacmn: Connect if pri_umac & assoc link are same
Some devices in WDS station mode have limitation when connected
in 3 LINK MLD association where the Primary umac selected and assoc
link should be same. Make sure to have a sanity check before
going for association in such cases.

If the primary umac and assoc links are set to be different then
the connection will be rejected.

Change-Id: If56461a140d4685ba279b1babe04709d919d1650
CRs-Fixed: 3443733
2023-03-30 23:15:34 -07:00
Surya Prakash Sivaraj
88804f2cfc qcacmn: Add support for AKM25
Add support for FT-SAE-EXT-KEY AKM.

Change-Id: I832b414b31d42113eec6d099ba4c62e76dfe6cb1
CRs-Fixed: 3406626
2023-03-27 11:21:18 -07:00
Srinivas Dasari
5ec7c5416d qcacmn: Don't unlink the bss in disconnect/connect failure handler
Currently, bss is unlinked from kernel scan db in below cases,
1. Disconnect
2. Connect failure
3. AP moves to hidden SSID mode from normal mode

bss is unlinked in above 1 and 2 cases (i.e. disconnect and
connect failure) to avoid continuous connect failures when
userspace attempts connect to the same AP without issuing a
fresh scan, which may result in blacklisting the AP. But
framework/wpa_supplicant can take care of this now by making
sure that connect is attempted only if scan result is from
a fresh scan.
Unlinking the bss may lead to inconsistency in some scenarios
and found that disconnect is most common scenario. So, don't
call __wlan_cfg80211_unlink_bss_list() in case 1 and 2 to
avoid unlinking.

Change-Id: I2d3af5fcc22360a5ead0e148d623194cb815f882
CRs-Fixed: 3433127
2023-03-23 04:47:19 -07:00
Jianmin Zhu
3e280f1e48 qcacmn: Update puncture bitmap to upper layer
Update puncture bitmap along with channel to upper layer when channel
or puncture bitmap changed.

Change-Id: I68ff46fdf0143919a64a523d79f34d5454bb465b
CRs-Fixed: 3436333
2023-03-20 09:58:16 -07:00
Jingxiang Ge
4333d62894 qcacmn: add QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_NF_CAL_VAL
Add QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_NF_CAL_VAL attribute
for noise floor calibration value.

Change-Id: Ie20ce40c0b925fd95cdcb127877e32a0b28b1fc2
CRs-Fixed: 3427750
2023-03-15 11:20:35 -07:00
Sai Pavan Akhil Remella
5d62197747 qcacmn: Send vendor attributes with the Roam stats
As part of commit I7a08635a7912cbd940d90a2d62433296740ad913
a vendor command is added to enable roam stats event.
This change registers callback to send the added vendor
command event to userspace.

Change-Id: I6dc3f8357ace5bb3fa41b4aa116652a91b9fd924
CRs-Fixed: 3427397
2023-03-14 10:37:42 -07:00
Jeff Johnson
0eda2812d9 qcacmn: Add wlan_cfg80211_nla_put_u64_64bit()
OSIF currently defines function wlan_cfg80211_nla_put_u64() which
provides an interface to the Linux Kernel's nla_put_u64()
functionality. This wrapper handles the fact that the underlying API
has a different name and signature depending upon kernel version.
However, this function has a limitation, namely that if it has to pad
the skb, it will use a netlink pad attribute that may not be defined
in the same enum as the u64 attribute. This can lead to attribute
parsing issues by the recipient.

To avoid this problem, introduce wlan_cfg80211_nla_put_u64_64bit(),
which allows the caller to provide the pad attribute id. This will
ensure that the u64 attribute and the pad attribute are from the same
enum, and hence should prevent nla_parse() issues.

Change-Id: I9e4183fa088248abfdda435b9d5e159400521969
CRs-Fixed: 3414639
2023-03-02 16:28:52 -08:00
Deeksha Gupta
d7eb35e4de qcacmn: Introduce a new macro to support ML external auth changes
Introduce new macro to support ML external auth changes in
host driver with cfg80211.

Change-Id: Ifa9ab729ce12b261d10cddc699bfb9a5e1b4956a
CRs-Fixed: 3385381
2023-03-01 05:44:33 -08:00
Liangwei Dong
9149ed9f51 qcacmn: Add QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_LOW_LATENCY
Add QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_LOW_LATENCY attribute
to enable/disable Multi-Channel concurrency low latency mode.
The firmware will do optimization of channel time quota for
low latency in Multi-Channel concurrency state if enabled.

Change-Id: Ibcf1ac82b2650899043ea9b61be5e1501e2d85a1
CRs-Fixed: 3409648
2023-03-01 00:53:46 -08:00
abhinav kumar
4440f2b36a qcacmn: Don't send roam indication to kernel if bss is NULL
Currently, before sending a roamed indication to the kernel,
the host calls kernel APIs ieee80211_get_channel and
cfg80211_get_bss to confirm whether the roamed channel and
BSSID are present in the kernel scan cache or not.

In case if kernel returns the BSS pointer as NULL, Host calls
osif_populate_mlo_info_for_link API and uses BSS pointer
to populate MLO info for the link(s), this results in a
NULL pointer dereference in the host.

Fix is to avoid sending roam done indication to kernel/
userspace if kernel returns BSS pointer as NULL and issue
disconnection with reason REASON_UNSPEC_FAILURE.

Change-Id: I28f51369115a7ef20105073e4fcf6ee912c068b2
CRs-Fixed: 3404248
2023-02-25 01:29:42 -08:00
Jianmin Zhu
1632e6e62c qcacmn: Add QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS_INDEX
Add QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS_INDEX.

when qca vendor cmd of QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS get roam
information, driver send all the cached information to user space.

Change-Id: I5fa3202850eb21fe3fbf88ddbf51a803457a948e
CRs-Fixed: 3409607
2023-02-21 23:59:29 -08:00
Vijay Raj
6effc63bb2 qcacmn: Remove api wlan_add_age_ie on scan result
In api wlan_add_age_ie(), age ie is included in scan
result.

Remove api wlan_add_age_ie() as the bss age is
calculated using NL80211_BSS_SEEN_MS_AGO.

Change-Id: Ided2364ce7a52d942d29343455fc7ae511be9a18
CRs-Fixed: 3391276
2023-02-16 04:17:35 -08:00
Gururaj Pandurangi
d77d7fbf29 qcacmn: QCA vendor attributes for MLO and EHT capabilities
Add new QCA vendor attributes to configure the driver for EHT
capabilities and multi-link configuration.

Change-Id: I322a6fe112b83b3636c9383db152bfaa5dd34c14
CRs-Fixed: 3395113
2023-02-14 03:26:45 -08:00
Kiran Kumar Lokere
2d420e388f qcacmn: QCA vendor attributes to configure EHT capabilities
Add new QCA vendor attributes to configure the driver for EHT
capabilities. These attributes are used for testing purposes.

Change-Id: Ic4ea6f5be212da423181d108c8dcae559a08a47e
CRs-Fixed: 3271502
2023-02-13 12:45:03 -08:00
Jianmin Zhu
f8d54d23a3 qcacmn: Refine vendor subcmd QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS
During implementation of commit 257b119c2d87 ("QCA vendor attribute of
update roaming cached statistics info") some deficiencies were noted as
listed below, so fix them. Since these are pre-implementation changes,
no ABI breakage is introduced.

1) Change all RSSI values to be signed values.
2) Add enums for scan type and dwell type instead of documenting
   their values with comments
3) Add missing QCA_ROAM_REASON_STA_KICKOUT to enum qca_roam_reason

Change-Id: I270dc1a009e36e37c83cb6298a096ed91b511df1
CRs-Fixed: 3402978
2023-02-13 04:04:41 -08:00
Sheenam Monga
3f072d7829 qcacmn: Enhance QCA vendor interface for Concurrent AP Policy for XR
Add new AP concurrency policy QCA_WLAN_CONCURRENT_AP_POLICY_XR to
configure interface for eXtended Reality (XR) requirements.

Change-Id: I514979a9d950de9e0181dbf6d285812ef8a05126
CRs-Fixed: 3401504
2023-02-12 08:22:44 -08:00
Jeff Johnson
7bc9ad4d74 qcacmn: Fix OSIF Documentation
The kernel-doc script identified some documentation issues in the
os_if folder, so fix most of them. However do not modify the file
qca_vendor.h since most of the issues there are present upstream, and
the downstream file should match the upstream file.

Change-Id: I71948fb497c1ea2d1dd46308277d99beefde18b8
CRs-Fixed: 3390428
2023-01-31 17:09:48 -08:00
chunquan
8db88cd12a qcacmn: QCA vendor attribute of update roaming cached statistics info
Add vendor subcmd QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS and attribute id
in enum qca_wlan_vendor_attr_roam_cached_stats for collecting roaming
statistics information when diagnosing roaming behavior.

Change-Id: I38fa39c2524e453335cf8281afe403a7c64c8bb4
CRs-Fixed: 3381257
2023-01-25 23:15:38 -08:00
Uraj Sasan
0aacfaccd9 qcacmn: Allow connection with upto 3 links
Use macro which indicates maximum number of links we can support
for a given MLO association. Currently this is used for 3 Link
association in which the Association request will have per STA
profile of two other partner links.

Change-Id: If0927367110d58f8e42b40bb987c5b7497b8d551
CRs-Fixed: 3381043
2023-01-25 13:24:41 -08:00
Amruta Kulkarni
2cd3406a9a qcacmn: Add handling 1x roaming case
- Add osif callback api to get scan ie params
- Made few mlo manager api's public

CRs-Fixed: 3288038
Change-Id: I15a764682b8164eb1b66adeff44d7e344f2563c3
2023-01-24 09:41:08 -08:00
Asutosh Mohapatra
f1a5f8d3ab qcacmn: Enhance QCA vendor interface with new hang reason codes
Add more hang reason codes for the hang reason in the
qca_wlan_vendor_hang_reason enum.

Change-Id: Ia7f21c45d58c980219690cda390127f5d4004391
CRs-Fixed: 3380849
2023-01-19 16:42:34 -08:00
Sreeramya Soratkal
266f87715e 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.
Throw error if it is an invalid operation.

CRs-Fixed: 3308464
Change-Id: I11bbd3a9a9ffc8462e420946d54f06a11fad558e
2022-12-29 15:41:00 -08:00
Surya Prakash Sivaraj
06469b874f qcacmn: Allocate TLV for KCK based on KCK length
For roam auth vendor event to userspace, currently
16bytes of static memory is allocated for KCK. However,
latest security AKMs have higher KCK length.

Allocate the TLV based on the KCK length received from
firmware.

Change-Id: I2a869989a263f141a9b24a1fb9a97eb34889ac19
CRs-Fixed: 3346092
2022-12-28 00:47:44 -08:00
Himanshu Batra
5ea3ebf775 qcacmn: Change to handle ML reconfig link delete
Change to handle ML reconfig link delete

Change-Id: Iaf743a1a61534f2f4bb12be7fccad48e67b81c12
CRs-Fixed: 3346537
2022-12-27 11:08:54 -08:00
Harsh Kumar Bijlani
299c4870e5 qcacmn: Add new attributes in SCS rule config QCA vendor subcommand
Add new attributes for the destination MAC address and netdev index in
SCS rule config subcommand.

Change-Id: I8298d9e0080440fce7401fb931e1af42672711cf
CRs-Fixed: 3359591
2022-12-27 07:12:38 -08:00
Vijay Raj
2413e83ebd qcacmn: Add event response for green ap low latency pwer save mode
Add low latency power save mode event response for xpan
profile.

Change-Id: If3271c8a0ed649cd04b9060060706de9ec5764c1
CRs-Fixed: 3267486
2022-12-26 03:24:24 -08:00
Will Huang
e2da240791 qcacmn: Add AFC vendor event index
Add QCA_NL80211_VENDOR_SUBCMD_AFC_EVENT_INDEX for AFC event index.

Change-Id: I6b8314d616027e33e09da0b9cdc451a5ca6246d3
CRs-Fixed: 3341706
2022-12-20 20:30:47 -08:00
Rhythm Patwa
07bee8ee4e qcacmn: Define AFC vendor commands and events
Wi-Fi Alliance specification for Automated Frequency Coordination (AFC)
system ensures that the Standard Power Wi-Fi devices can operate in 6
GHz spectrum under favorable conditions, without any interference with
the incumbent devices.

Add support for vendor command/events and corresponding
attributes to define the interface for exchanging AFC requests and
responses between the driver and a userspace application.

Change-Id: I8c894236cdb3a33f6eae5dd43879fc84f29a80dd
CRs-Fixed: 3337619
2022-12-19 11:38:44 -08:00
Deeksha Gupta
3b44cf0785 qcacmn: Introduce new macro for TX control port changes
Introduce new macro to support TX control port changes in
host driver with cfg80211.

Change-Id: I1f557c62e225ce019a6ce3174ad2d897b39e0147
CRs-Fixed: 3342945
2022-12-16 03:29:05 -08:00
Vijay Raj
cb5c29865e qcacmn: Add QCA vendor interface for AP doze mode configuration
Add a new subcommand QCA_NL80211_VENDOR_SUBCMD_DOZED_AP to configure
doze mode state on an AP interface. This is also used as an event to
indicate the updated configuration. In doze mode, AP transmits
beacons at higher beacon intervals and RX is disabled.

Uses attributes defined in enum qca_wlan_vendor_attr_dozed_ap.

Change-Id: I183140f0466eb7400cc161afb8c2e295ec587f93
CRs-Fixed: 3267855
2022-12-15 12:40:33 -08:00
Chaoli Zhou
c0d40ef91a qcacmn: Fix 'struct wifi_pos_osif_ops' will not be visible issue
Fix the compile error: "declaration of 'struct wifi_pos_osif_ops'
will not be visible outside of wifi_pos_register_osif_callbacks"
when enable CONFIG_WIFI_POS_CONVERGED but disable the macro
WLAN_FEATURE_RTT_11AZ_SUPPORT.

Change-Id: Ib0043a109244d25368b7508b67b5b7b5c26cd3bf
CRs-Fixed: 3338198
2022-12-11 12:54:10 -08:00
Surya Prakash Sivaraj
dda3f7844b qcacmn: Add support for AKM 24
Add support for AKM 24

Change-Id: I7bd483afbe1659c56b6708085f0bfd1e1d5dd261
CRs-Fixed: 3299891
2022-12-09 07:32:52 -08:00
Srikanth Marepalli
93e8977721 qcacmn: Roam control configuration for 6 GHz in full scan only on prior discovery
During the roam scan, if there are no desired APs found in the partial
frequency list, an immediate full scan on all the supported frequencies
is initiated as a fallback. This would include the 6 GHz PSC
frequencies. Define an attribute to allow that behavior to be modified
to include PSCs only if 6 GHz use has been detected.

Change-Id: I81eb9b20c2953e6b0dbf4138b31547db82d7397f
CRs-Fixed: 3351706
2022-12-08 02:49:02 -08:00
Ashish Kumar Dhanotiya
0456b0a11e qcacmn: Add a new QCA vendor attribute to configure wifi calling (wfc) state
Add QCA_WLAN_VENDOR_ATTR_CONFIG_WFC_STATE vendor attribute,
Userspace uses this attribute to configure wfc state to
Driver/Firmware. Driver/Firmware uses this information to
optimize power savings, rate adaption, roaming, etc.

Change-Id: If58bd1e64216de81af6cf82eaabd740b85729eac
CRs-Fixed: 3343034
2022-12-07 05:50:37 -08:00
Srikanth Marepalli
8333f89c98 qcacmn: Add a vendor attribute for roam control configuration for full scan
During the roam scan, if there are no desired APs found in the partial
frequency list, an immediate full scan on all the supported frequencies
is initiated as a fallback. This flag controls the frequency list
creation for full scan on the following lines.
1 - Full scan to exclude the frequencies that were already scanned by
    the previous partial scan.
0 - Full scan to include all the supported frequencies irrespective of
    the ones already scanned by partial scan.

Change-Id: Id48ae28e6d0e719b9db9b2e73bd76f9be1ea0b3e
CRs-Fixed: 3343567
2022-12-02 12:29:22 -08:00
Krunalsinh Padhar
7ca1ab9e0f qcacmn: add vendor sub-command index for primary netdev notification event
Add vendor sub commands index
QCA_NL80211_VENDOR_SUBCMD_MLO_PEER_PRIM_NETDEV_EVENT_INDEX.

This index is used to identify the vendor event from the socket buffer.
This vendor event notifies the application layer about the primary
netdev after each MLO association.

Change-Id: Icccf0498412ee6831dcf61f9dd7c7e828848c2eb
CRs-Fixed: 3297028
2022-11-26 15:51:34 -08:00
Amit Mehta
46a5d43615 qcacmn: Vendor attribute to configure QoS/AC upgrade for UDP frames
Introduce a new attribute to configure access category
override for UDP frames of BE/BK category. Unlike, the
earlier attribute QCA_WLAN_VENDOR_ATTR_CONFIG_UDP_QOS_UPGRADE
which will override for all UDP frames, this attribute is
for overriding only for BE/BK based UDP frames.

CRs-Fixed: 3332609
Change-Id: Ife6104b97bca83653fdcac31f2c91007d1aa6f2a
2022-11-23 10:52:49 -08:00
Srikanth Marepalli
7c94f932be qcacmn: A vendor roam control configuration for delaying hand off for RX
Introduce a run time roam configuration for "hand off delay for RX".
This value, in milliseconds, will delay the hand off for the specified
time to receive pending RX frames from the current BSS.

Change-Id: I961109a2f9287a611ae8f4b38e2ea824ecf9c559
CRs-Fixed: 3329952
2022-11-23 04:42:57 -08:00
Amruta Kulkarni
b6ca1b3ff2 qcacmn: Add null check in osif roam api
Add null check in osif_roam_auth_mlo_links api.

Change-Id: Ia3290fe3b51d8913f212c732a6c53b0a159adfc3
CRs-Fixed: 3337588
2022-11-22 20:34:32 -08:00
Linux Build Service Account
b32b979e35 Merge "qcacmn: Add changes to support link_id param in cfg80211_disconnected" 2022-11-20 06:53:45 -08:00
Himanshu Batra
80db72a890 qcacmn: Add changes to support link_id param in cfg80211_disconnected
As part of MLO dynamic link deletion handling, cfg80211_disconnected is
taking link_id as an argument.
Add changes to support link_id param in cfg80211_disconnected.

Change-Id: Ia312b5e5768ba9abb11675839e912d4819a2fa86
CRs-Fixed: 3315102
2022-11-19 20:11:05 -08:00
Krunalsinh Padhar
97ea3b37d1 qcacmn: Add QCA vendor subcommand to notify about primary netdev
Add a new vendor subcommand
QCA_NL80211_VENDOR_SUBCMD_MLO_PEER_PRIM_NETDEV_EVENT to send notification
to application layer about primary netdev of an MLO peer association.

Also define the attributes present in this subcommand.

Change-Id: I84ba177c5d7155f627d4d3fa86c64c4f9b24951c
CRs-Fixed: 3280634
2022-11-18 13:38:22 -08:00
David Oladunjoye
a361d76cff 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: I2f36f98b6665d448c07d676ff9a5fa907a980c5c
CRs-Fixed: 3328364
2022-11-16 15:36:58 -08:00
Vinod Kumar Pirla
10892b0f48 qcacmn: Introduce new macros to interface ML SAP changes
Introduce new macros to interface ML SAP capable
host driver with cfg80211.
SAP needs to provide additional information
about the clients when beaconing as ML SAP.

Change-Id: Ie673927d1f8617da38170d41e6aaedae13f4f5c8
CRs-Fixed: 3331264
2022-11-16 13:39:03 -08:00
Mohammed Ahmed
b36ae3c3aa qcacmn: add psoc null check before passing 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 to
wlan_objmgr_get_peer_by_mac.

Change-Id: Ica5ebbc448a6da8b1e7c846f05773d95f995eaca
CRs-Fixed: 3327337
2022-11-10 16:43:43 -08:00