Currently, wakelock is taken for all unicast packets.
Do not take wakelock if packet is IP multicast packet.
Change-Id: If197cbb58d1414adedb1d29f9c2bd67be83e95b4
CRs-Fixed: 3807621
Currently, wakelock is being taken for all unicast packets.
Do not take wake lock if it is a ARP packet but not local to
host.
Change-Id: Iff5de2b83a4b12692b2f3b82d58e0fc400326529
CRs-Fixed: 3838502
IP multicast check for IPv4 was failing as the big endian
conversion was not being done and wrong values were being checked.
Do ntohs conversion on macros to check if packet is mcast packet.
In IPv6 check, the word is being checked instead of first byte.
Check only first byte when checking for ipv6 multicast address.
Change-Id: I686cdef7957778f9c60f2dc919421d39c4b8b71c
CRs-Fixed: 3824229
This reverts commit 9184f0dbd383af314112f1f6038a4143c44a5837.
Reason for revert: Janks are observed with bouncing ball test.
Change-Id: I5fd3dd5c7abf83cdaa141ccc42271e3ff899cfce
Signed-off-by: Anand Tarakh <quic_atarakh@quicinc.com>
When MLO STA connects to a specified buggy MLO AP with PMKID in assoc
req, it consistently fails and then retries with a downgraded SLO
candidate, which eventually succeeds. However, the customer expects MLMR
connection.
To address this, when select this buggy AP, we avoid generating
downgraded SLO/11AX candidates, use full SAE auth instead of existed
PMKSA, and don't add PMKID in RSNIE of assoc req when connect.
If the MLMR assoc fails, assoc rejection is sent to upper layer,
not retry with SLO/11AX candidates. Instead, wpa_supplicant/aosp will
clear the PMKSA upon receiving an association rejection, and subsequent
retries will use full SAE authentication, resulting in a successful MLMR
connection.
Change-Id: I85f39f52e4dae8393bbf559969710f35447b8c0c
CRs-Fixed: 3888073
When MLO STA connects to a specified buggy MLO AP with PMKID in assoc
req, it consistently fails and then retries with a downgraded SLO
candidate, which eventually succeeds. However, the customer expects MLMR
connection.
To address this, when select this buggy AP, we avoid generating
downgraded SLO/11AX candidates, use full SAE auth instead of existed PMKSA,
and don't add PMKID in RSNIEof assoc req when connect.
Change-Id: I8e446544b2fdbae089840713bc8bc93c601f1863
CRs-Fixed: 3888074
When util_scan_copy_cache_entry return NULL for out of buffers,
NULL pointer dereference happens.
To fix it, check return pointer of util_scan_copy_cache_entry
before use it.
Change-Id: Iec5e6f10c8e0bbe6b88d844cc00320f3f23191a4
CRs-Fixed: 3885075
Currently, When connection failure happens with MLO
AP then all combinations of that MLO AP are tried until
the partner links become 0/SLO.If AP configured links are
more than supported links and AP doesn't support EHT then
AP disconnects with reason EHT not supported and STA will not
be able to connect to that AP as STA tries combination till SLO
but all combinations are 11BE only.
To Fix above scenario add a 11AX entry in candidate table, so that
connection can be tried with 11AX if all combination fails or failure
reason clears that 11BE association is not possible.
Change-Id: Ibde68f44a1367c9af160201bc677dd97b1897c06
CRs-Fixed: 3779644
There could be a case when SLO and 11AX entry has same score. In
that case consider MLO candidate first and then move to 11AX in case
of failure.
Change-Id: I4e24ff45a23e9f620b7c2894f26223c55828c8bd
CRs-Fixed: 3779623
As current MLO RSSI algorithm, MLO RSSI score is quite worse
than that of better link if worse link RSSI is poor, which may
make MLO candidate score worse than link candidate score, SLO
candidate is selected to connect instead of MLO candidate.
To fix it, for DBS/HBS MLO candidate, boost total score 10%.
Optimize MLO rssi score algorithm as following:
MLO-RSSI = [BW1/(BW1+BW2) ]* RSSI1 + [BW2/(BW1+BW2) ]* RSSI2.
CRs-Fixed: 3776301
Change-Id: I16d65b2a70cd0ca0daba47b116c8627f995d5157
Currently CONFIG_PLD_SNOC_ICNSS_FLAG and CONFIG_ICNSS2_HELIUM
configs are not enabled in Bazel GKI config file of Adrastea for
parrot66 target. As a result host is not calling relevant PLD
API for driver registration during load. As a result seeing
Adrastea driver loaded for Moselle device.
To address this issue, enable CONFIG_PLD_SNOC_ICNSS_FLAG and
CONFIG_ICNSS2_HELIUM configs.
Change-Id: I7419eb1f6339e134a85729f25301913adf02e484
CRs-Fixed: 3898745
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)