Currently mac address is getting configured as the wow pattern
while the vdev is getting created, configure the mld address also
during the vdev creation so during legacy connection or roaming
between the ml-legacy vice versa there wont be packet drops because
of pattern mismatch.
Change-Id: I9b98649bca132a6665f2e4dd94d9c6b840223827
CRs-Fixed: 3124115
For kernel 5.17 onwards, sa query offload bit
should be set which signifies that sa query is
offloaded to driver and userspace shall ignore
SA Query procedures and validations.
So, set SA query offload bit in ap_sme capability
flag.
Change-Id: Ie9911e6f122b63b76b5189973d302dec99050886
CRs-Fixed: 3146736
Enable feature DP_RX_DELIVER_ALL_OOR_FRAMES for lithium DP
which will allow all OOR frames to stack.
Change-Id: I3ad59fc3b3fc8e70b2f05a7cfa23e2646c1e03a4
CRs-Fixed: 3152334
Move MLO STA-SAP concurreny handling to Policy Mgr which
is present in CSR currently.
Also, Move MLO STA-STA concurreny handling to Policy Mgr
which was part of If Mgr currently.
Change-Id: I2b8de17c3d31b43ff1f6b81a7de07b88888d7fb5
CRs-Fixed: 3153393
Currently when 11BE feature is enabled, VDEV MAC address is being
updated for link adapters of the ML adapter. But in ML STA + legacy
STA concurrency case, VDEV MAC address is not being updated for
legacy STA adapter. This is because legacy STA doesn't have link
adapters.
To resolve this, Update VDEV MAC address for non-ML adapters as well.
Change-Id: I681f879f47bc0f9c50ee7fb51f2742544e116cf7
CRs-Fixed: 3138464
Peer MAC address is not specified when get_peer_by_mac fails.
We should print the peer MAC address with debug message.
Change-Id: I9d75098784879ddecd447f8dbbcd61e6cdc1bf76
CRs-Fixed: 3153776
When a station associates to a SAP and SAP registers
the sta info correctly, it tries to cache station info.
Newly added MLO changes breaks this path as if host
driver fails to register MLD sta it does not cache the
station info which is not correct. When user space queries
this information host driver can not find this inforamation
as it is not cached and it does not return this information.
To address this issue, cache the station information if SAP
registers the station correctly irrespective of the MLD sta
registration status.
Change-Id: I1a83d6521b27d36d580067b2628c78d3f1c66f76
CRs-Fixed: 3138429
When local EDCA parameters are reconfigured, any user set local
TXQ or EDCA parameters are over written.
Modify to honor the user set EDCA parameters.
Change-Id: I3f04b5c4538822d8c9bae98132dafa272fa6bc71
CRs-Fixed: 3150599
In the api cm_roam_scan_info_event(), only for partial
roam scan the frequencies are logged in logcat. For full scan,
the expectation is to print the frequency count as the number
of characters for scanning all frequencies exceed 255.
Enable Roam full scan logging in api cm_roam_scan_info_event()
Change-Id: Ib644a4e8d85e434e8b826c7656cda1251134c4fa
CRs-Fixed: 3131791
When met IoT AP ESS and IBSS caps both are set in the beacon CAPs,
CAPs check failed, connect failed, and peer was deleted, but host didn't
wait for peer delete rsp and try next candidate immediately, back2back
peer delete/create wmi cmd are sent to firmware, assert will happen.
To fix it, allow connect the IoT AP. If last candidate failed to
connect, don't try next candidate until peer delete rsp received.
Change-Id: Ia52df7aec36ab4b8e31702b55118ab6377f6ca24
CRs-Fixed: 3149991
Make sure the parsed association request array is valid at the
association ID index, before dereferencing it. This will prevent NULL
pointer deref. There is already a check for the beginning of the parsed
assoc req array, but it is not checking at the assoc ID index.
Change-Id: Icac3b2a4a0646dec4c64a2224e3271b0842a8194
CRs-Fixed: 3147273
Currently the beacon miss disconnection is sent when host
wlan driver triggers disconnect and roam result is printed
after the roam stats event is received. Since roam
stats event is received after host triggers disconnect,
the order of prints is BMISS_DISCONN -> ROAM SCAN ->
ROAM_SCAN_DONE-> ROAM_RESULT.
But the expected order is ROAM_SCAN->ROAM_SCAN_DONE->ROAM_RESULT
->BMISS_DISCONN.
So send beacon miss disconnection event after roam result.
Change-Id: Ib1695962bc1613fa4101cebf28b188db42fb5ab5
CRs-Fixed: 3152370
Currently, LIM_ACK_NOT_RCD is not handled while filling
status code due to which STATUS_UNSPECIFIED_FAILURE is
updated as part of default handling instead of
STATUS_AUTH_NO_ACK_RECEIVED. Don't overwrite previous
status code in case no ack received from peer.
Fix is to Handle LIM_ACK_NOT_RCD case while filling status
code and consider previous status code when no ack received
from peer.
Change-Id: I366d63ee3ff6abf8a36300451e7f0c46fcf47e39
CRs-Fixed: 3151992
During vdev creating, RTPM suspend/resume may happen, after vdev
created in host, if ITO config wmi cmd is sent to firmware
before vdev create wmi cmd, firmware will assert for invalid
vdev.
To fix it, only config ITO when vdev is up.
Change-Id: I3d744d7fffd9afc7780d3a19c92613a94556cfa0
CRs-Fixed: 3152034
Send kernel timestamp to userspace via a
new vendor attribute
QCA_WLAN_VENDOR_ATTR_DIAG_KERNEL_TIMESTAMP.
Change-Id: I085a1f140b5036895249723f6a5b34b18d9aa574
CRs-Fixed: 3146742
Fix hdd_ctx null pointer derefernce issue in hdd bus suspend
related code by addition of hdd_ctx null check before its use.
Change-Id: Iea92dcdf8591e61853af233f8e28fe7e0f9ec4bf
CRs-Fixed: 3144126
Currently driver returns EAGAIN as error code if vdev transition is
not possible, driver is not able to process this vdev transition
because some other PSOC/PDEV transition is going on.
On receiving EAGAIN error code userspace retries the same operation
immediately which again leads to failure as existing transition is
still in progress.
In current scenario, for STA+P2P case, if station is connected to
some ap and for p2p if DUT becomes p2p go, now if SSR is triggered,
host driver gets interface down for sta for change mac address as
station gets disconnected as part of SSR and this interface down
is cached as SSR is in progress. Once reinit gets complete, driver
processes this cached interface down as part of SSR and in this
process driver gets the change interface for p2p go, which it
rejects the error code as EAGAIN from __dsc_vdev_can_trans as
SSR is going on and change interface fails to get dsc op.
When user space gets EAGAIN as error code it immediately tries
the change interface again which driver again rejects as SSR is
still in progress. Also, on receiving EAGAIN error code, userspace
retries the change iface operation only once.
To address above issue, return error code as EBUSY, on receiving
EBUSY as erorr code, user space addds some wait before invoking
the same operation again and also it tries this operation 10 times
if it gets EBUSY as error code, this gives sufficient time to
complete the ongoing transition at driver.
Change-Id: I96ec94432e7624546363cda190abfc9970ab1eb9
CRs-Fixed: 3126558
PASN peer create request event and deauth events need
host actions and notifying the userspace.
So register for PASN events to wake up host.
Change-Id: Ic83f10984d4e4d5ee0f1e8a5d7c4fbc321395a26
CRs-Fixed: 3150120
Currently, STA doesn't support roam between WPA2 to WPA3
security or vice versa. To support this feature, host sends
list of allowed_authmode. So that Firmware will check and
roam on those authmode.
Fix, add support for allowed_authmode list in ap_profile.
Change-Id: I438a133a434ea12ec34680997ace358fd4910028
CRs-Fixed: 3113219
Currently, both ML adapter and assoc link adapter are mapped to same
VDEV. Hence STA connection info is expected to be same. But,
connection info is getting updated in only in ML adapter but not in
assoc link adapter. As a result, connection info is wrongly interpreted
when it is accessed through assoc link adapter.
To resolve this, update connection info in assoc link adapter with
the connection info present in ML adapter.
This change also includes 11BE mode conversion support from cfgdot11mode
to 80211mode.
Change-Id: Idb8371a6bcf7fc9e2dcc5972d0504d326d9e0aca
CRs-Fixed: 3121835
Currently when get temperature is queried, both
gThermalMitigationEnable ini and WMI_SERVICE_THERM_THROT service caps are
checked in the driver.
gThermalMitigationEnable ini means the thermal throttling will be done
by driver if enabled and will be done by FW if disabled.
So, set this ini as 0 by default in the driver as thermal throttling
is done by FW and check only WMI_SERVICE_THERM_THROT service while
get temperature is queried.
CRs-Fixed: 3139693
Change-Id: I28e2b6cfca6ea7bf60d81045ba267e019143f3a8
When power save mode is disabled, TWT is also disabled. All existing
TWT sessions must be removed.
Change-Id: I7c1ceb7abbfea0205e65a038fdf8d574b797685e
CRs-Fixed: 3147231