The init func of rxtx-rx1 virt dailink should
be same with rxtx-rx1 dailink.
Change-Id: I62008bfb742d6c6b818b1b4dbce6d521229d0369
Signed-off-by: Faiz Kuchay <quic_fkuchay@quicinc.com>
(cherry picked from commit a1e8d2ab44)
Currently, while parsing the per STA profile IE, driver tries to
access the EXTN element ID without checking IE len. When IE len
is zero, if driver tries to access the IE after IE header then it
will leads to out of bound error.
So, to fix this, add check for IE len before accessing it.
Change-Id: I30d3fae9aaedc0011a2d3415e273d5e32db2d56e
CRs-Fixed: 3852338
(cherry picked from commit 608d3ddcb6)
In __hdd_set_multicast_list(), mc_list_request->count is of
uint8_t type but the value is getting assigned from to
int type which may lead to overflow.
Fix is to change mc_list_request->count to int type
In check_disable_channels(), driver is not taking lock before
using hdd_ctx->original_channels. There could be possibility that
other api may change the value at the same time.
As part of fix take lock before using hdd_ctx->original_channels in
check_disable_channels()
Change-Id: I2ed53ca136f48034489a6fc3210ff3dfb77b4632
CRs-Fixed: 3882266
Mailbox support is being dropped by AOSS starting with gen8 targets.
Remove mailbox support and replace with qmp.
Change-Id: I13b0e03853ab412c801c4141075333d1661c8d43
Signed-off-by: Carter Cooper <quic_ccooper@quicinc.com>
Signed-off-by: Mohammed Mirza Mandayappurath Manzoor <quic_mmandaya@quicinc.com>
Currently, qdf_set_bit()/qdf_clear_bit()/qdf_test_bit() APIs are
used to operate on the event_flag in logger_thread. These APIs
use non-atomic kernel APIs __set_bit()/__clear_bit()/__test_bit()
and the operation is indeterministic when system syspend/resume
happens.
Use atomic APIs(qdf_atomic_*) to avoid this.
Change-Id: I52d1c608f9845ed6c98975f2455035c8587bfd72
CRs-Fixed: 3890216
Issue #1:
When Legacy sta does TDLS with one link of ML Sta and then
moves to the other link AP due to roaming or other reason, then
the same STA can try TDLS on the other link.
While processing TDLS add sta, peer create is done. If duplicate
peer exists, then WMA returns error and add sta failure status
is given to userspace. But the allocated peer idx and sta_ds
are not cleaned up resulting in TDLS peer delete sent on
wrong vdev during disconnect because the peer delete is done
for the pe_session for all the AID present in the aid bitmap
that is stored in the PE session.
In this failure scenario peer object already exists but sta_ds
is not present.
Add duplicate peer detection in lim while checking for sta_ds
also to avoid cleanup failure & add proper error handling
in lim_process_tdls_add_sta_rsp() for failure case.
Issue #2:
When Link Switch happens, as part of the disconnect sequence
the TDLS peers are not deleted sometimes. This is because, TDLS
module posts delete all peers msg to lim, but the disconnect
defers other msgs and pe_session is deleted. When TDLS msg gets
processed, it checks for pe_session to delete all the peers
based on the peer AID bitmap stored in pe_session.
Since PE session was deleted, the peers are not deleted and AID
was also cleared. So the TDLS peers where not deleted during
subsequent disconnections also.
Delete all TDLS peers directly when disconnect start indication
is received in IF MGR without posting msg, similar to south
bound disconnect & roaming cases.
Change-Id: I403fe0022289d4a5d5b45fdd37477b89ce50ec1e
CRs-Fixed: 3823658
When the DUT sends TDLS setup response directly to peer without
sending TDLS discovery, the peer can send the addba request
frame and it can be received before TDLS_CHANGE_STA,
TDLS_ENABLE_LINK is done from userspace. So all the capabilities
of the TDLS peer are not available till then. This causes the
addba buffer size to be lower and ultimately lower throughput is
observed on the TDLS link.
Drop the ADDBA request from TDLS peer if ENABLE_LINK is not done,
so that the peer will retry the addba frame later.
CRs-Fixed: 3828017
Change-Id: I3617d42db0dca88e9244565ba00a9740dc7be18b
Currently, the get_current_groups API accesses group info, which
increases the usage refcount. If the IOCTL using the
get_current_groups API is called many times, the usage counter
overflows. To avoid this, access group info without taking a
reference. A reference is not required as group info is not
released during the IOCTL call.
Change-Id: Iec31c90f9fd1a837fb697d5d7d1baba7d285374d
Signed-off-by: ANANDU KRISHNAN E <quic_anane@quicinc.com>
Updating the consumer pipe TRE structure as per uc.
Also, saving the virtual addresses during allocation of uc producer
transfer or event rings, and its consumer transfer rings separately
to free them in failure scenarios.
Change-Id: I928c97c8f65418628d1bc7c1662d9e6a03f9d610
Signed-off-by: Prasad Arepalli <quic_parepall@quicinc.com>
If DUT enters good rssi region from bad rssi region,
FW sends good rssi value to host via roam_msg_info event
with message id WMI_ROAM_MSG_CONNECTED_IN_POOR_RSSI.
Fix is to store “next RSSI threshold” value in vdev mlme
and update same when GETROAMTRIGGER is queried.
Change-Id: Icbf6cf050faab7e6f5dd418c07f6e94462e5c50a
CRs-Fixed: 3876356
This patch overrides the fal10 veto for the milos target.
Change-Id: I82310b63ff89aa44c03b97e4e7b6e87ac5c4569a
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
(cherry picked from commit 8ce353ea46)
This change enables the uidle feature support for milos target.
Change-Id: I3f8633b623d69467010639b48e47a2455f64c55b
Signed-off-by: Akash Gajjar <quic_agajjar@quicinc.com>
(cherry picked from commit 841bca1984)
Trigger filter reservation only when the first request to add
a filter with tuple info is received from C2 component.
Change-Id: I90f105bcb9bde83d510367c92aa30fe334f75a08
Signed-off-by: Prasad Arepalli <quic_parepall@quicinc.com>
Add changes to support voting for bus bandwidth through driver
for different interconnect paths based on throughput threshols
and DDR frequency.
CRs-Fixed: 3887876
Change-Id: I4cf759d46a9ef8f3f5688d22e7619d5a010293a3
If WLAN is attached to PCIe switch, it's possible that PCIe switch is
not probed when cnss_probe call PCIe enumeration. This case can lead to
cnss_probe failure, it prenventing the cld driver ko loading. From user
layer can see WLAN interface is not up.
To fix this issue, cnss_probe call PCIe enumeration until PCIe switch is
probed.
Change-Id: I302f23cc2af6c738e4c18c7eb6a09685a49a643c
CRs-Fixed: 3863866
Follow 'commit Ic63fd054788 ("pci: msm: Fix for PCIe
suspend/resume for QPS615 PCIe switch")'
As suspend has been controlled by pcie driver for PCIe
switch case, skip suspend from client side. Otherwise
it may cause stability issue.
Change-Id: If7788e9f8ae7945ec7f5984ee15e2e10eb289d73
CRs-Fixed: 3848272
When WLAN is attached to PCIe switch, set and retrain DSP <-> EP link
in BW scale callback function. It avoids touching RC <-> USP link which
may impact other devices.
With this change, it could support Hamilton PCIe Gen3 on PCIe switch
platform.
Change-Id: Id444ac847613971545bf66db9bb1a6e427028802
CRs-Fixed: 3848272
CNSS driver controls the power on/off wlan device. because on CPE
platform the link/power status of RC<->USP may be still on when wlan
device is turning on/off, this may cause uncorrectable AER error on
DSP side, to avoid this issue DSP's downstream link should be
disabled before power on/off wlan device, and re-enabled after wlan
power on, and also wait for link training of DSP<->WLAN to complete.
To be compitable with non PCIE switch platform, add a new config
CONFIG_PCIE_SWITCH_SUPPORT to enable/disable this function
Change-Id: Iaca103850d5ffc717a2a8bc40d16358e03c0c9db
CRs-Fixed: 3848272
when MBQ & C/N bit enabled, vol and mute register will
become a new register, which cannot be updated, so add the
new registers in regmap.
Change-Id: I9b13889c6b5281a529b0feacfb7669575d5028e0
Signed-off-by: Yuhui Zhao <quic_yuhuzhao@quicinc.com>
When WPSS crashes, remoteproc module sets notif->crashed to 1 in case
of BEFORE_SHUTDOWN, whereas, in case of AFTER_SHUTDOWN, remoteproc
module sets notif->crashed to 0.
To avoid MSA0 ramdump collection on graceful shutdown case, save
notif->crashed flag to determine WPSS crash and collect MSA0 ramdump
only when WPSS crashes.
Change-Id: I48b79ba5e21ebf5d1839c2e7d863d0eb74ad592b
CRs-Fixed: 3887666
When create vdev, CC is US, max_allowed_bw was 160 MHz, so host set EHT
cap without 320 MHz supported to F/W.
Then APPs reset CC to Japan, max_allowed_bw became 320 MHz, but host
didn’t update eht cap with 320 MHz to F/W correctly especially when
STA disconnected. So F/W can’t roamed to AP with 320 MHz BW.
To fix it, if max_allowed_bw become 320 MHz after CC changed, update eht
cap with 320 MHz supported to F/W correctly, if sta disconnected, update
CAP IE too.
Change-Id: Ifda240e6edd7fe123bf4f29b875d7792c1232463
CRs-Fixed: 3877506
Add wlan dts property qcom,pcie_switch_type to mark the wlan chip
is attached on the PCIe switch NTN3. If it's PCIE_SWITCH_NTN3, cnss
driver will enable/disable accordingly PCIe switch dsp link when
power on and shutdown wlan chip.
Change-Id: I48bb56879d5c00f05d0b4e62888027c435f861ee
CRs-Fixed: 3878342
Check if clk is enabled before disabling it to avoid
warning log during adsp SSR.
Change-Id: I916af6f9efacfe3d08e0b05dcc0c6023944369d2
Signed-off-by: sarath varma ganapathiraju <quic_ganavarm@quicinc.com>
Some IOT EHT APs do not respond to ML-probes. However, STA
does not support pure-EHT connections, therefore downgrade
the STA connection to 11ax for non-MLO APs.
Similarly, after 3 initial attempts of unicast join probing,
send the rest of the join probes as broadcast.
Change-Id: I9471c5b211f9480877c9c2475eaef93071b82734
CRs-Fixed: 3846888