In wlan_cm_get_associated_ch_width, if vdev is NULL, which means
reference is not gotten. do not call wlan_objmgr_vdev_release_ref.
Otherwise there is QDF ASSERT.
Change-Id: Id1cc2be3869ad555ebeb1c91a4b5f75d499e70ac
CRs-Fixed: 3503877
When roaming from OWE SLO to OWE MLO, host considers it as SLO roaming,
although FW sends both assoc link and partner link information to host.
Currently host adds partner link to sta_ctx->wlan_connected_links in
mlo_roam_update_connected_links, since it already receives partner
link information from FW. Then RSO fails to translate to stop state in
cm_fw_roam_complete because partner link is not up.
To make RSO state translation work, host need add partner link to
sta_ctx->wlan_connected_links when partner link connection is
triggered, which is mlo_roam_prepare_and_send_link_connect_req.
Do not add partner link to sta_ctx->wlan_connected_links in
mlo_roam_update_connected_links.
When roaming from OWE MLO to OWE MLO, host triggers disconnection in
partner link, which should not enable roaming in connected STA.
Change-Id: I99938a0805d60287eb2714e5d271579ac2fb4aeb
CRs-Fixed: 3498822
Current SAP does not support MCC and for low latency SAP,
host driver needs to support MCC.
To support MCC with SAP, add new concurrency mode for low
latency low throughput SAP as PM_LL_LT_SAP_MODE.
CRs-Fixed: 3469425
Change-Id: Ifb4b2db3bf3c2b433324580fde32d1673df5ae67
During the conversion to the Bazel DDK build system the qcacld-3.0
driver was built without the FEATURE_WLAN_RA_FILTERING flag being
set. This resulted in two separate build errors due to incorrectly
testing using #if instead of #ifdef, so fix those tests.
Change-Id: I9265475c1d33918e8fac7fc138e0bfdc301e5eef
CRs-Fixed: 3497220
Currently the CDS layer calls the cdp functions
directly to initialize common DP.
Move these calls to DP component, so that DP
component can handle other DP related initialization
inside the DP component itself.
Change-Id: Ib257ac4f41d468706078cd34a8cbec004a9a622e
CRs-Fixed: 3499726
The number of perf CPU clusters can vary across
different targets. Currently only the second CPU
cluster is considered as the perf cluster, whereas
there can be more than 1 perf clusters.
Fix this perf cluster derivation for interrupt affinity.
Change-Id: Idecc98701e38bd2315846d6500068dcdd8f1309e
CRs-Fixed: 3498023
Remove tdls set state cnt check before sending
fw tdls state update. Fw state updates could be for
multiple vdev's set state cnt check works for only
single vdev.
Change-Id: Id154e623a03e65a99f27360c33b261209ac2e754
CRs-Fixed: 3483291
Currently, if active offload is disabled and ARP offload,
NS offload is enabled from ini host doesn't configure
NS and ARP patterns to fw. This results in frame drop when
device is in RTPM and NS, ARP frame is received as fw
doesn't send WOW wakeup to host.
To address this issue, configure ARP, NS pattern to fw if
active offload is disabled.
Change-Id: Iad54263f7a8a52f0a9ca3c56f9a2e3ccb19ea6c0
CRs-Fixed: 3468310
As per the requirement, add a new Ini CFG_PCIE_CONFIG to
enable or disable externally. This Ini is used to control
pcie generation speed and lane width parameters to max value.
If enabled as of now this Ini makes generation as 3 and lanes
as 2 for pcie.
Change-Id: I96c1a133fa0b22d3b35a229b2fd9ba2904bb3d8f
CRs-Fixed: 3481707
Current code does not enable DRV in unit
test mode. Fix this by setting drv flag
when unit test mode is detected.
Change-Id: I0996860ca6549235aae59459a710f10279a181d5
CRs-Fixed: 3500370
FW drops the management frames received on the inactive link,
so timeout happens on SCS action frames from userspace that are
sent on inactive link.
Set link agnostic flag in all management frame of subtype action
so that FW can send the packet OTA on the active link.
Change-Id: I4677617b52eca3f933aae2c4a7584750a95b3302
CRs-Fixed: 3486974
Populate the user-defined listen interval in association
request frame for STA.
Change-Id: I1733ed1d528fa99fc5556639ddfbd68ca97a40e0
CRs-Fixed: 3438369
The policy manager API to update hardware mode list is
invoked before the host can extract EMLSR capabilities
from the target via service ready extended event. Thus,
invoke the policy manager API again through SBS
frequency update API to set the EMLSR capabilities in
the host.
Change-Id: I4d71b983ddb4b09e2010d24f0af0c26e2077cbd7
CRs-Fixed: 3417254
When ANI_LITTLE_BIT_ENDIAN is not defined, a compiler error is
flagged in the definition of struct mlme_ht_param_info due to a
misplaced #endif, so relocate it.
Change-Id: I72df79a1dfae84c2cd6797d1d112de6ef8ca7ef6
CRs-Fixed: 3498279
SAP 1 is started on 5 GHz 5180, SAP 2 is started on 5 GHz 5745.
ML STA 2 GHz 2437 + 6 GHz 6275 is up. SAP 1 is moved to 2 GHz 2437,
SAP 2 is not moved to 2 GHz 2437 because the SAP2 PCL is PM_SCC_ON_5_CH_5G
which have no 2.4 GHz scc channel. STA+SAP+SAP SCC is allowed
in same mac, but MCC is not supported.
Fix by:
1. Change PCL to include SCC channel in 4th pcl table for SAP/GO.
2. Add API policy_mgr_modify_sap_go_4th_conc_disallow to filter
out the channels which not supported in same mac based on
current concurrency combinations.
Change-Id: Ieb482076d961234d3987b2daebab4c407ee0b7f5
CRs-Fixed: 3479297
When FEATURE_WLAN_MCC_TO_SCC_SWITCH is not enabled, a compilation
error is observed due to the fact that the stub implementation of
policy_mgr_change_sap_channel_with_csa() does not return QDF_STATUS,
so add an appropriate return statement.
Change-Id: I568289cc825adffa3fbcbab2419e093dc5c44cfa
CRs-Fixed: 3498278
Currently center frequency pass to API to check unsafe channel is
not correct set for bandwidth greater than 80 MHz. It lead to
unexpected shrink bandwidth.
For channel bandwidth greater than 80 MHz, center frequency should
set to mhz_freq_seg1 instead of mhz_freq_seg0.
Change-Id: I278590cd128b4760e35f4ea5921a6ed687dc1308
CRs-Fixed: 3466845
Logs without meaningful message or values serves no purpose in debugging.
Hence, add more context to the logs.
Change-Id: Ie913f7460356a1550b5252fd72ed5b454c67b3cf
CRs-Fixed: 3492709
Scenarios are:
1. Connect to AP in HE80/HE160
2. Set the bandwidth to 20 MHz (SET_MAX_BANDWIDTH 1)
3. Disconnect from AP
4. Reconnect to AP.
5. AP should be connected to the max bandwidth.
To fix this, host should update channel bandwidth to
the max supported bandwidth on disconnection.
Change-Id: I139d082ca4e4950d760f1da074dbcc021fb8a9e1
CRs-Fixed: 3491677
Currently, Fw did not set NACK reason code
to Host when Fw is not ready for WoW.
As part of the new change, Fw will send NACK
reason code along with WoW NACK to host.
Make changes in host to store and print
NACK reason code.
Change-Id: Ic978af9572c8de37df3fb926083aac5e6ddefda7
CRs-Fixed: 3481177
When user space use "iw dev" to get tx power info,
driver send WMI_REQUEST_STATS_CMDID to fw,
fw update tx power info with two events, usually we
parse the last event, and maybe get invalid value.
Filter invalid value for each event, and get valid
tx power value from the mac which the AP/STA mode work.
Change-Id: I2411bb87e03fe385759852b028819e19a055b7f3
CRs-Fixed: 3474361
When STA roams from multi link AP to single link AP, because MLO link
vdev is not disconnected yet, PCL is updated according to MLO station
connection and SLO station connection concurrency scenario.
After MLO link vdev is disconnected, PCL should be updated again
according to SLO station connection scenario.
Change-Id: I6a297c05a605fefe27c20a90d36e419819e6415d
CRs-Fixed: 3497055
Currently, packet capture packets are processed until the mon list
is empty. There can be situation that while mon list is not empty and
mon thread is running, mon interface is deleted and as part of it
PKT_CAPTURE_REGISTER_EVENT is cleared. After clearing the bit, interface
deletion will wait for completion of mon_register_event and flush the
remaining packets in mon list without processing them. In this case
as mon thread is already running and processing the packets from mon list
without check for PKT_CAPTURE_REGISTER_EVENT bit, it may lead to
timeout in deletion of mon interface in case of high throughput scenarios.
To avoid this situation, add a check to test PKT_CAPTURE_REGISTER_EVENT
each time before processing a packet from mon list.
Change-Id: I21e7adc0149c2330f6008d54db8576ca705f2b55
CRs-Fixed: 3475349
1. While populating t2lm ie use dynamic memory allocation
instead of static and free after usage.
2. If AP rejects T2LM action req frame, sends status code
anything other than 0(success) or 134(preferred mapping),
clear ongoing negotiation.
Change-Id: I50fbf34f3e95bbeaf13c2e1a74374b22837dffa8
CRs-Fixed: 3496677
Currently, host driver disables eMLSR STA link when a SAP is
coming UP. Once the SAP is UP, host driver evaluates the current
concurrencies and re-enables the link if it can. This allows the
driver to bring UP disabled link(if any) as the SAP would do SCC
with one of the ML-STA links. But this is not applicable for
eMLSR STA. No other concurrency can co-exist with eMLSR STA
currently. So, one link has to be force-disabled always to let
the firmware not enter into eMLSR mode.
So, don't allow the validation of current concurrencies in
policy_mgr_handle_sap_cli_go_ml_sta_up_csa() eMLSR API
policy_mgr_handle_emlsr_sta_concurrency() takes care of
eMLSR concurrencies.
Change-Id: I78a15447a8ea5a3a98146d9c9b577095bb8496de
CRs-Fixed: 3492030
Currently, as part of wlan_hdd_stop_modules, direct link config
is not being cleared but hif link state vote is cleared, as a
result when hdd_close_adpater() is called, link state is already
cleared, resulting in crash, as config is still enabled.
To fix this, clearing config as part of direct link context
de-initialization.
Change-Id: I1a5de6f427b5bc4dc4fe4346e53354645ad53529
CRs-Fixed: 3495027
STA is on 5 GHz 5260, SAP on 6 GHz 6415, GO on 5 GHz 5745.
STA receives CSA event to move to 5540. Then 3 vdevs are
MCC in 5 GHz high band which is not supported by target.
And we should avoid SAP+GO on same band MCC.
Fix by:
1. Check allow concurrency for STA CSA for more than 2 connection
case.
2. change SAP PCL to only includes SCC 5 GHz channel and 2.4
GHz channel to avoid SAP choosing 5 GHz MCC channel if STA+GO is in
SBS mode.
Change-Id: Iadf8cfd215393baf4823c0e7cb6aa3656d8004dd
CRs-Fixed: 3482252
The four SAP concurrency pcl table is deleted by change:
I494e7a8d6ecc0a550027ff7f64de5deb11b987a9, it is still needed
for MDM platform, otherwise the 4th SAP will be rejected by
policy manager.
Add back original four SAP concurrency pcl rules.
Change-Id: Ib80c58f114f494a2c66fc15286b1a434d577dd26
CRs-Fixed: 3490580
When the Intra band INI is enabled and the STA connected in 6 GHz
band the channel count and frequency are not sent in the
WMI_ROAM_CHAN_LIST command as the band is not defined or unknown.
As a result of this DUT is unable to trigger partial roam scan in
the current connected 6 GHz channel and does a full roam scan.
Add the 6 GHz band check in the Intra band enabled case.
Change-Id: I765c233d1e6bf71cab186041ebd7df2293be6f05
CRs-Fixed: 3469197
Currently as IPA_OFFLOAD path is enabled for OPT_WIFI_DP
usecase, this causes SAP/GO D3 WOW to be disabled.
This change will add a check to ensure D3 WOW is
enabled when IPA path is set for OPT_WIFI_DP usecase.
Change-Id: Ibec94ca172646c80fa9ec7e6ff24e6e5f6fcad60
CRs-Fixed: 3472752
Host parse newely added vendor command
QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS and trigger
scan to get connected channel stats from FW in case of MLO
connection.
On scan done host sends scan done indication to upper layer
via QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS vendor
command.
Change-Id: Iff09b6dfe88b5f075a4c81d8f0bfff5bbb0fedaa
CRs-Fixed: 3491058
When DFS CAC is going on for SAP, if 5 GHz mac is occupied by the
SAP and it's not available for 5 GHz NAN discovery. Enabling NAN
on 5 GHz in such cases cause inconsistency in firmware state machine
and firmware may assert as DFS MAC is not supposed to be disturbed
while CAC is going on.
So, check if NAN enable request has 5 GHz NAN channel also and reject
the request. Allow NAN enable command if it's 2 GHz only NAN enable
request, while CAC is going on.
Change-Id: If3f2b2b40cc2b70bc7a872970bc088204440d519
CRs-Fixed: 3458462
There is a race condition where profile for direct link is set but
hif link was not yet voted up to prevent suspend. Parallelly,
direct link config is cleared in different context causing hif link
to vote down without being voted up which resulted in crash.
To fix this, create a mutex lock and move all the config set
operations inside the lock.
Change-Id: I80924d9ed52a9889a178b98469be15af0454b022
CRs-Fixed: 3490442
In case of MLO connection, firmware sends each vdev's status
information via vdev extended stats event. Add support in driver,
to extract that information.
Change-Id: Ia7a0a92baf008e6549830672b68e58be5a8202df
CRs-Fixed: 3483731
when STA roams from multi link AP to single link AP,
the non-assoc link gets cleaned up(through disconnect path) and
RSO gets disabled as part of this. But RSO doesn't get re-enabled
when link cleanup is completed. So, STA can't roam further.
Remove the check which skips RSO enable if the current
disconnecting vdev is of type MLO link. Next API
policy_mgr_get_roam_enabled_sta_session_id() can fetch the
right valid vdev to enable RSO. Don't update PCL to
firmware as there is no need to update again as part of link
cleanup. Firmware has already got the PCL as part of assoc
vdev RSO enable.
cm_roam_switch_to_init() takes care of not allowing RSO enable
in disconnect case as the assoc vdev CM is in
WLAN_CM_S_DISCONNECTING state.
Change-Id: I155bb93868653d5575f81559c48b86b40cf5d59c
CRs-Fixed: 3487290
Drop any vendor command request to enter EMLSR mode if there
are any concurrent connections existing with MLSR STA as
this combination is not supported.
Change-Id: I3b1f2bbe714c83628a8394068f7483d3913ce421
CRs-Fixed: 3478257
Since fw update the logic of roam stats, the data of
wmi_roam_trigger_reason maybe null when fw send event
of WMI_ROAM_STATS_EVENTID to host driver, and at that
time, the num_roam_trigger_reason is zero, we don't
need reduce the length when extract roam stats event.
Change-Id: I332de7ba2d2efeba722e2194af4b9c97ef310a73
CRs-Fixed: 3475501
Host sends roam scan offload channel list via WMI_ROAM_CHAN_LIST
to FW after a successful connection.
The host creates a ROAM_SCAN_CHAN list with BSSID entries present
in the scan database. If the connection to an AP fails due to
Auth/Join/Assoc timeout, Host removes the AP entry from the Scan
database, assuming it’s not reachable (to avoid reconnecting to the
AP as it's not responding). Due to this, FW does not include the
frequency(s), for which the connection failed, in roam scan.
Fix is to store the frequency(s) of all the candidates to which the
driver tried connection in the rso config during connect resp failure
and use the same list to update the roam channel list on the top of
entries present in scan db.
Change-Id: I7a4bb3961a64fcf987cb6f2be87b6475363d500a
CRs-Fixed: 3486154
With the commit(Ic425cc065a29bbc444531f523eaccb14014ae47a) driver
enqueues the TDLS peer deletion as part of roam sync indication
and then enqueues the TDLS disable notify to firmware. But before
this driver is processing the TDLS enable notify which is part of
add_sta and then the TDLS disable is getting processed and
notified to firmware, which results in disabling the TDLS after
roam.
The correct sequence during roam should be delete the TDLS peers,
followed by TDLS disable notify to FW and then TDLS enable notify
to FW.
Driver already take care of deleting the TDLS peers as part roam
sync indication callback. This change calls the TDLS disable
notify API only after deleting the TDLS peers during roam.
Change-Id: I58ef78852290c95e6709e6aa1b0671916322625f
CRs-Fixed: 3486585
Currently, single API is being used to get sap freq for
both HT and LT profile type sap which may cause issue in
future because one could be in MCC but other will be strictly SCC.
To avoid any issue different APIs are introduced for different
AP profile type.
Change-Id: I7108ef96896d3bec2116c6936884500d82b24fa0
CRs-Fixed: 3489049
Add multi page prealloc pools for TX buffers and CE
TX buffers for direct link datapath.
Change-Id: I8c8be42b0530de39293ad8e45f47e16f90ea7767
CRs-Fixed: 3490109
Add a new cfg item to drop connection request if
AP is operating in 6 GHz SP mode and STA doesn't
support SP mode but supports VLP mode.
Change-Id: I0f20d63f68b2424390ca424188f95f26971c9ada
CRs-Fixed: 3470602
relaxed_6ghz_conn_policy cfg item is no longer needed
with new regulatory policy as there is no dependency
on STA, AP country code to find 6 GHz power mode for
connection and also connect request should be rejected
if AP is advertising VLP and STA doesn't support VLP.
Hence remove this cfg item and the related APIs.
Change-Id: I3a48a3c6343e57f4f2386ebbab1f88d5052af505
CRs-Fixed: 3470571