Commit Graph

26024 Commits

Author SHA1 Message Date
Surya Prakash Sivaraj
19dd97f211 qcacld-3.0: Move user configured SAP frequency to vdev
When MLO SAP is started with two different bands, the 2.4 GHz
link follows the 5GHz and restarts on the same channel
as 5 GHz link.

The user configured frequency for the SAP is cached on the
psoc, therefore during the concurrency check after bringing
up the second connection, 2.4 GHz link considers the new
user configured frequency of 5GHz link and moves to the same
channel.

Save the user configured frequency per vdev to prevent
cross-utilization.

Change-Id: I62f883bf818332bb7d0c838e6ed629a8f2d2f21b
CRs-Fixed: 3209394
2022-06-16 18:49:41 -07:00
David Oladunjoye
5f4f7cf521 qcacld-3.0: pmo: Replace fallthrough comment withattribute
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.

Change-Id: If55d68cb76589b39b88d859ea4d9fa6e10246c7e
CRs-Fixed: 3217399
2022-06-16 18:49:36 -07:00
David Oladunjoye
75c1d7c753 qcacld-3.0: umac: Replace fallthrough comment with attribute
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.

Change-Id: I7a04c8727121f58a5d6dcd575446c9acedea164b
CRs-Fixed: 3216248
2022-06-16 18:49:30 -07:00
Madan Koyyalamudi
7cac3b649d Release 5.2.1.25H
Release 5.2.1.25H

Change-Id: Ie316bcc57d37d24df0e249af9cee27aa46d04ea0
CRs-Fixed: 774533
2022-06-16 11:52:26 -07:00
Sheenam Monga
15dc5ca2ff qcacld-3.0: Pass ml sta vdev id in link set request
Currently, vdev in link set active request is added
without any check whether it is ml sta vdev or not
due to which may cause issue of empty event for that
particular vdev when sap/p2p vdev is added instead of
ml sta vdev in request.

Fix is to add ml sta vdev in link set request to avoid
mismatch with fw link down and expected vdev down from
host to avoid empty event failure

Change-Id: If99b305c267f094913b8d9ce96a330eed47d0214
CRs-Fixed: 3221818
2022-06-16 11:52:25 -07:00
Madan Koyyalamudi
71e0ec2a46 Release 5.2.1.25G
Release 5.2.1.25G

Change-Id: Idc872ae5231b99933115862e3a15167c060b67fa
CRs-Fixed: 774533
2022-06-15 20:48:41 -07:00
Srinivas Dasari
7c1083a4ba qcacld-3.0: Enable roaming on both STAs in primary iface usecase
set_primary_vdev usecase in STA+STA concurrency is to use that
interface(e.g. wlan0) over the other interface(i.e. wlan1) for
data transfer.
Non-primary vdev use case is to check the quality of that link
and decide if data can be switched to it and make it primary.
It may get disabled if it's not going to become primary STA after
measuring the link quality for sometime or with few APs.

Enable roaming on non-primary vdev also to find better AP.

Change-Id: I3205f1ee1b7da4aa813955308730949ccc70941f
CRs-Fixed: 3219633
2022-06-15 20:48:41 -07:00
Madan Koyyalamudi
5691619e21 Release 5.2.1.25F
Release 5.2.1.25F

Change-Id: I1a65655f53d6683d676208802558ab5b924abbe1
CRs-Fixed: 774533
2022-06-15 17:05:22 -07:00
Srinivas Dasari
6ec8d8b91e qcacld-3.0: Reenable link upon STA disconnect in STA+STA case
Link gets disabled when a secondary STA is connected and if it's
causing MCC with one of the links. Once the secondary STA is
disconnected, this link can be re-enabled.

Change-Id: I5b5f885c103d5fb5611c32422c26112b336c97ec
CRs-Fixed: 3219632
2022-06-15 17:05:21 -07:00
Srinivas Dasari
473761cd46 qcacld-3.0: Disable link upon second STA connect
When an ML STA connection exists with more than one link and if
secondary STA connection happened, check if it's causing MCC.
Disable the link that is causing MCC with the new station.

Change-Id: If85da9dd778791c1a5d1a658b97942c5277c5429
CRs-Fixed: 3219631
2022-06-15 17:05:16 -07:00
Srinivas Dasari
25effcdd77 qcacld-3.0: Allow 2nd STA connect on any channel when ML STA exists
When an ML STA connection exists with more than one link and if
another STA connection is attempted, allow it. Disable the link
causing MCC with the new station after successful connection.
If there is only one link, reject the second STA connection.

Change-Id: I3cd95e0b425f5e1f96d75f226b058668f030151f
CRs-Fixed: 3218700
2022-06-15 17:05:09 -07:00
Aravind Kishore Sukla
d6baf9cded qcacld-3.0: Update wiphy max_num_akms_connect variable
Update wiphy->max_num_akms_connect to wiphy->max_num_akm_suites,
based on the upstream kernel change.

Change-Id: I54455b1d3fc162ddea5a0f9380f66a4a06236076
CRs-Fixed: 3214543
2022-06-15 17:05:03 -07:00
Madan Koyyalamudi
f06c46d614 Release 5.2.1.25E
Release 5.2.1.25E

Change-Id: I09451251a186edc596e57d51de34e7673ab56d35
CRs-Fixed: 774533
2022-06-15 13:54:27 -07:00
Jyoti Kumari
e4241564f8 qcacld-3.0: Add support for new ini param RoamScan_SecondTimer
Add support for new ini param RoamScan_SecondTimer. This param
is similar to the existing roam_scan_inactivity_time but unit
change

Change-Id: I65c7f88b95d102d9101d8dd59c662650706b247d
CRs-Fixed: 3015947
2022-06-15 13:54:27 -07:00
Jyoti Kumari
078acbe78e qcacld-3.0: Add support for new ini param RoamScan_FirstTimer
Add support for new ini param RoamScan_FirstTimer. This param
is similar to the existing gEmptyScanRefreshPeriod but units
change

Change-Id: If250ba41d71ef20c7365af2c90550b3b575d285c
CRs-Fixed: 3016232
2022-06-15 13:54:21 -07:00
Madan Koyyalamudi
009da9e836 Release 5.2.1.25D
Release 5.2.1.25D

Change-Id: I680f1c72ceffb53252373ce421505af3c49d730e
CRs-Fixed: 774533
2022-06-15 11:08:45 -07:00
Aditya Kodukula
e1e3d36bdb qcacld-3.0: Fix memory leak of osif_request
The memory allocated for osif_request in wlan_hdd_send_ll_stats_req
is not properly freed and to fix this memory leak, free the memory by
calling osif_request_put() before returning.

Change-Id: I8c60d7d262f7f3ef4a40a1ff272da2516f2d581e
CRs-Fixed: 3220876
2022-06-15 11:08:45 -07:00
Srinivas Dasari
70e98be7ab qcacld-3.0: Don't skip RSO stop command if roaming is enabled
Currently, roaming state machine relies on the disconnect
sequence where link vdev gets disconnected first and then
assoc vdev. RSO stop is sent as part of link disconnection
and skipped for assoc vdev disconnection as the roaming
state machine is per ML than per link.
If link vdev connection hasn't happened due to some
reason (e.g. link not available in scan while connect, single link
ML connection), RSO stop command is not sent to firmware due
dependency on above sequence.
Check roam state while processing assoc vdev disconnect and send
RSO stop command to firmware if it's in enabled state to cleanup
the RSO state machine in firmware.

Change-Id: If3e9a579c0f3da27a337fbbffcaf0beb580bd8bd
CRs-Fixed: 3215155
2022-06-15 11:08:40 -07:00
Amruta Kulkarni
c4d1f8e948 qcacld-3.0: Generate link specific Probe response
Add support to generate link specific probe response
and add to the scan database.

Change-Id: I30a68df5496bf3e81b4fe71734253555512b82ea
CRs-Fixed: 3158761
2022-06-15 11:08:33 -07:00
Madan Koyyalamudi
d88415f274 Release 5.2.1.25C
Release 5.2.1.25C

Change-Id: I08c21eefa0d8d4ac7231c47a3b209f8390ba5ba0
CRs-Fixed: 774533
2022-06-14 17:51:50 -07:00
Rakesh Pillai
3391f44cc0 qcacld-3.0: Enable FW logging over CE7 feature for KIWI
Enable the feature flag for FW logging via CE7, for
KIWI target.

Change-Id: I0996c66c107daa97e3e78b713dcdd32af283caa0
CRs-Fixed: 3219447
2022-06-14 17:51:49 -07:00
Madan Koyyalamudi
c5dbf129ab Release 5.2.1.25B
Release 5.2.1.25B

Change-Id: I746b4a1644b52bfc69df53e5bd353a1053d9f689
CRs-Fixed: 774533
2022-06-14 15:06:18 -07:00
Sheenam Monga
56cde67530 qcacld-3.0: Add handling to disable vdev for miracast
Add handling to disable second vdev of mac if miracast
is set for one vdev. In case high throughput or low latency
is required for particular vdev then another vdev on same
mac should be disabled, if present in MCC.

Change-Id: I36cc19f442130b098c4a02ec0ebcf69b89dd2a3c
CRs-Fixed: 3219512
2022-06-14 15:06:17 -07:00
Madan Koyyalamudi
f18f044e74 Release 5.2.1.25A
Release 5.2.1.25A

Change-Id: Ia85613c6d91c2ed08a5b2b02e448ff884d03e117
CRs-Fixed: 774533
2022-06-14 09:31:22 -07:00
Jyoti Kumari
f3c859ae04 qcacld-3.0: Validate peer before sending to serialization queue
Consider a below case
1. SAP received south bound disconnect command
2. At same time, SAP CSA to DFS channel happened
   and thus peers are deleted
3. Later same peer got re-added and south bound
   disconnect command becomes active for same peer

When SAP receives south bound disconnect req, then driver will
post WLAN_SER_CMD_WM_STATUS_CHANGE(eWNI_SME_DEAUTH_IND/
eWNI_SME_DISASSOC_IND) command to schedular thread. After posting
to schedular thread, the command will wait in SME message queue.
During this time, SAP CSA to DFS channel happened. Driver will
post CSA to schedular thread and it will wait in PE message
queue.
Since PE message queue has higher priority than SME message queue
CSA will process first. As part of CSA, driver will delete all
peer including sta hash entry.
After CSA, south bound disconnect command got queue to
serialization and same peer got re-added again.
When south bound disconnect command becomes active, the states
will not be proper (as for old peer, disassocTrigger will be
eLIM_PEER_ENTITY_DISASSOC/eLIM_PEER_ENTITY_DEAUTH and for new
peer disassocTrigger will be eLIM_HOST_DISASSOC/eLIM_HOST_DEAUTH)
and thus response to CSR(old peer: eWNI_SME_DISCONNECT_DONE_IND,
new peer: eWNI_SME_DISASSOC_RSP) will not be proper.
Due to this south bound disconnect command will not remove from
active queue which leads to active command timeout.

As part of fix, validate peer before sending to serialization
to avoid queueing the cmd if peer is already deleted.

Change-Id: I099b4b8e85ea8cfd24bcaec0add3c6f1fcaf8b11
CRs-Fixed: 3210877
2022-06-14 09:31:22 -07:00
Madan Koyyalamudi
7ac35e2f2e Release 5.2.1.25
Release 5.2.1.25

Change-Id: I11b627b70d427b0884347f170bcce8c77ef8a15e
CRs-Fixed: 774533
2022-06-14 01:36:57 -07:00
Mohit Khanna
37c6a523a0 qcacld-3.0: Enable notify-frame feature in FW
Enable bits in WMI_INIT command to let the FW know about host's
capability to support notify frame feature. If the feature is enabled,
host can mark certain TX frames as "notify frames" for hardware and they
need not be sent to FW. FW depends on this capability exchange to decide
whether to install HW rules for frames to be sent to HW.

Change-Id: I53b729acc938bc5877de5a872632dd9a2d58845a
CRs-Fixed: 3210693
2022-06-14 01:36:57 -07:00
Madan Koyyalamudi
68553f7928 Release 5.2.1.24Z
Release 5.2.1.24Z

Change-Id: I4af1e5ab115221bd90147342aaeed45d060978fd
CRs-Fixed: 774533
2022-06-13 17:49:42 -07:00
Sheenam Monga
8076b56e37 qcacld-3.0: Add handling for four port connection
Add support to handle 2 sap and 1 ml sta link.
Currently, get pcl fails for fourth connection when
2 sap link and 1 ml sta link is present due to which
fourth connection is not allowed as pcl len is becoming 0.

Fix is to add handling for fourth connection when existing
concurrency is P2P/SAP + P2P+SAP + 1 ML STA link.

Change-Id: Ief969018da14096f758fea4bd06d17e7e8d039b7
CRs-Fixed: 3219328
2022-06-13 17:49:42 -07:00
Madan Koyyalamudi
c560d12988 Release 5.2.1.24Y
Release 5.2.1.24Y

Change-Id: Ibf240f68423042111cadd68efe1e83bb74c68571
CRs-Fixed: 774533
2022-06-13 15:06:26 -07:00
Rahul Gusain
bfc2c02560 qcacld-3.0: Remove the dependency on NDI name
Currently in driver, NAN Data Interface can be created with
only name "aware_data" which creates dependency on interface name.

To remove the dependency, the interface is created now by name
provided by Wifi-HAL.

For this, interface is created in STA mode with name provided by
WiFi-HAl. While processing  vendor cmd QCA_NL80211_VENDOR_SUBCMD_NDP,
given ifname is searched in adapter list and mode is changed to NDI.

CRs-Fixed: 3196179
Change-Id: I62dd512f8a7de4c69a53babf3112942d348bf3b6
2022-06-13 15:06:26 -07:00
Madan Koyyalamudi
ffcde23331 Release 5.2.1.24X
Release 5.2.1.24X

Change-Id: Idec5ffb753c0b90895d8ebdc1c37536e2fabb917
CRs-Fixed: 774533
2022-06-13 10:51:24 -07:00
Deeksha Gupta
e1bdcfc022 qcacld-3.0: Update RNR IE as per D1.5 specs
Update dot11f RNR IE definitions as per 11be draft 1.5
specification.

Change-Id: I66aca72d021d2f13e51d92f226784b5f8d58f68d
CRs-Fixed: 3210817
2022-06-13 10:51:23 -07:00
Paul Zhang
3904e7a125 qcacld-3.0: Modify mlo and remove sta profile from dot11f.frms
Modify mlo and remove sta profile from dot11f.frms.

Change-Id: Ic91b44950149c3fa821c29acc07a92341ebc8054
CRs-Fixed: 3209300
2022-06-13 10:51:17 -07:00
Deeksha Gupta
00810c3230 qcacld-3.0: Rename BSS Parameters Change Count (sub)field size
As per ML D1.5 IE, rename BSS Parameters Change Count (sub)field size
to make it generic.

Change-Id: I607e0435e640989fc8c532e9ee8213e16a094709
CRs-Fixed: 3209853
2022-06-13 10:51:12 -07:00
Paul Zhang
559cc2f651 qcacld-3.0: Assemble ML IE to support fragmentation
The max IE length in the frame is 255, and the payload of Multi-Link
element and Per-STA profile subelement are becoming more than 255.
Add logic to fragment the ML IE and Per-STA profile subelement if their
length more than 255 when assembling the tx frames.

Change-Id: Iff2766f63edc7bc786169b2450887c708a3a4b76
CRs-Fixed: 3209293
2022-06-13 10:51:06 -07:00
Madan Koyyalamudi
c9b9ef2e36 Release 5.2.1.24W
Release 5.2.1.24W

Change-Id: Ic79e98e5f71c578d3f731d4ee31c6cf78cc38412
CRs-Fixed: 774533
2022-06-12 22:45:47 -07:00
Bing Sun
d602cb94cf qcacld-3.0: Generate puncture bitmap for STA based on bandwidth
Puncture bitmap is binding with channel bandwidth. If the STA can't
support bandwidth as AP broadcasts, STA need extract puncture bitmap
based on the negotiated bandwidth.

Generate puncture bitmap for STA based on negotiated bandwidth.

Change-Id: Iad303b220fc2e2c5a1b8c125f06300e414bf1fbd
CRs-Fixed: 3207676
2022-06-12 22:45:47 -07:00
Madan Koyyalamudi
6b856c0419 Release 5.2.1.24V
Release 5.2.1.24V

Change-Id: I6af8bb218faed9ccf8b61d82f7abfb7441202b90
CRs-Fixed: 774533
2022-06-11 03:30:49 -07:00
sheenam monga
e1c5d1fa7f qcacld-3.0: Dump four port concurrency
Add support to dump concurrency for four
vdevs with mode, vdev id , hw mode and
mac details on which vdevs are in MCC/SCC.

Change-Id: If4c1622770b0e787f5f3de54a3ca92b35a0e1873
CRs-Fixed: 3218170
2022-06-11 03:30:49 -07:00
Jia Ding
ee2099cd39 qcacld-3.0: Enable uplink delay feature for Vordonisi
Enable uplink delay feature for Vordonisi platform.

Change-Id: Ie38f7f1ee25bd880bfd628c0a0e11eeb3732dedf
CRs-Fixed: 3218090
2022-06-11 03:30:44 -07:00
Liangwei Dong
8bcb061a89 qcacld-3.0: Fix 3 home channel issue for PCL PM_SBS_CH_2G
New PCL PCL PM_SBS_CH_2G,PM_SCC_ON_5G_LOW_5G_LOW,
PM_SCC_ON_5G_HIGH_5G_HIGH do not allow 3 home channel
scenario. Remove it from API
policy_mgr_is_3rd_conn_on_same_band_allowed.
Add PCL string print support for new type:
PM_SCC_ON_5G_LOW_5G_LOW, PM_SCC_ON_5G_HIGH_5G_HIGH.

Change-Id: Ie6dbb042f5ecb04cb999a7949ced8e7c7ab4ad5a
CRs-Fixed: 3215568
2022-06-11 03:30:39 -07:00
Madan Koyyalamudi
2f9c8c6a28 Release 5.2.1.24U
Release 5.2.1.24U

Change-Id: If89570d8420330beade545c1534093f58006e17f
CRs-Fixed: 774533
2022-06-10 21:50:27 -07:00
Paul Zhang
c51cf56c15 qcacld-3.0: Get chain rssi stats per request vdev_id
Currently, the driver gets the last vdev's chain rssi stats
if fw reports more than one vdev's chain rssi stats, it causes
the last one stats overwrites the former one and the last stats
may not be expected for the request vdev.

To resolve this issue, compare the vdev id before getting the
stats.

Change-Id: Ib789d148a010460108ed73b92ef603cf78c1493a
CRs-Fixed: 3212917
2022-06-10 21:50:26 -07:00
Aravind Kishore Sukla
7ff8ef2746 qcacld-3.0: Send correct reason code for auth timeout
In SAE retry timeout case internal status codes are populated
over frame for auth TX failure. Internal status code is sent,
instead of correct reason code.
Send reason code as REASON_TIMEDOUT for auth timeout case.

Change-Id: I0daec5b6db47bb7a50994f088cda6673d0e407f1
CRs-Fixed: 3215534
2022-06-10 21:50:21 -07:00
Arun Kumar Khandavalli
af27c8d02e qcacld-3.0: cleanup scan queue in case of SSR
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.

Change-Id: I48700a1a7b4c4cc76d3c6736825d29d0f708886f
CRs-Fixed: 3203454
2022-06-10 21:50:15 -07:00
Madan Koyyalamudi
a95ea34cd0 Release 5.2.1.24T
Release 5.2.1.24T

Change-Id: I293a2bcef3f165fe73fe1e36ac2e37f6866fa4e2
CRs-Fixed: 774533
2022-06-10 18:58:16 -07:00
Vinod Kumar Pirla
afc4b56d42 qcacld-3.0: Add delayed wakeup in WOW reason type
The WOW reason types WOW_REASON_DELAYED_WAKEUP_HOST_CFG_TIMER_ELAPSED
and WOW_REASON_DELAYED_WAKEUP_DATA_STORE_LIST_FULL are currently
not identified by the driver and treated as unknown wakeup reasons.
Add these two reason codes in the WOW wakeup event.

Change-Id: Ia8966391588851b60af9ec27e47a2022423eb044
CRs-Fixed: 3214597
2022-06-10 18:58:16 -07:00
Jyoti Kumari
72c3404391 qcacld-3.0: Handle TWT renegotiation failure case
Generally below process should happen in renegotiation failure
case.
1. TWT setup (successful)
2. TWT setup (renegotiation failure)
3. TWT teardown
4. TWT GET STATUS - 0(dialog ID) 0 0 0
5. TWT setup - successful

Since all WMI TWT events gets executed in WMI thread. So when
renegotiation failure case hits, driver sends TWT
teardown to firmware and waits for twt ack in worker thread.
In same worker thread TWT event needs to be processed.
TWT ack event will not process as it's waiting in same worker
thread and it will get timedout.

As part of fix, break the context in renegotiation and
send the teardown in the new worker context.

Change-Id: I13c8d44d6582e39d1cc2c2aa10a500fffbf150b1
CRs-Fixed: 3204750
2022-06-10 18:58:11 -07:00
Balaji Pothunoori
e5375669f2 qcacld-3.0: Enable roam offload in wiphy based on roam ini set
Currently WIPHY_FLAG_SUPPORTS_FW_ROAM is updated in wiphy
based on FastRoamEnabled/EseEnabled/FastTransitionEnabled.

This change is to update WIPHY_FLAG_SUPPORTS_FW_ROAM flag in
wiphy based on lfr3 ini set.

Change-Id: I3eb9d4fe226849f28fd173fc5e891257f8e83ad9
CRs-Fixed: 3213817
2022-06-10 18:58:06 -07:00