Currently, the pm_qos request and cpu mask is updated in bus bandwidth
work handler. In low-latency mode also, cpu mask and pm qos request is
updated. In cases when low latency mode is enabled and cpu mask is set
to all, the bus bandwidth work handler may overwrite the settings done
in LLM mode.
To resolve this issue, add a condition to check if llm_enabled is set
while updating the pm qos request.
Change-Id: I42c131c943128702de95f545c99e35978586d417
CRs-Fixed: 2733979
MSCS enables the establishment of classification using layer 2 and/or
layer 3 signaling to classify incoming individually addressed MSDUs
into streams. The MSCS Descriptor element defines information about
the parameters used to classify streams.
Host gets MSCS IE in set IE user request. Host adds the support to set
MSCS ie in assoc req.
Change-Id: I9c458326ffba3bad58ba27a611f5753afcf0531a
CRs-Fixed: 2732722
Operating frequency may not have been filled up yet, from connectiion
profile. Check for the same.
Change-Id: I5f3c28fb855920c6038ce0714e9e0b3c4c21e7ef
CRs-Fixed: 2731261
If peer phymode is not same as vdev phymode on channel switch the
peer phymode is updated with vdev phymode.
It should consider the prev peer phymode to calculate the new
phymode.
Change-Id: I33b57ad991a5899742e7aa4334089762cd325c59
CRs-Fixed: 2736158
When reassociate, roaming is disabled by wpa_supplicant, but RSO stop
reason REASON_SUPPLICANT_DISABLED_ROAMING is ignored and roam scan mode
isn't cleared to 0 before vdev WMI_ROAM_FW_OFFLOAD_ENABLE_FLAG flag is
cleared. Then host can't receive peer unmap/map event when wlan disconnect
and reconnect, host dp peer id isn't updated, Rx frames are dropped for
peer id mismatch.
Fix: When roaming is disabled, make sure roam scan mode is cleared to 0
before vdev WMI_ROAM_FW_OFFLOAD_ENABLE_FLAG flag is cleared.
Change-Id: Ia471998cf631948d8ffa701e67fcee22eebb0fa0
CRs-Fixed: 2734351
When we receive a packet from the network stack for
transmission, we make a copy of this skb and free the
shared skb before trying to trasnmit it.
Currently the mac address used for tdls operations is
taken as a pointer to the original skb, which gets freed
after the skb_unshare.
Copy the mac address into a local stack memory instead
of using a pointer to the skb data to avoid the
use-after-free condition.
Change-Id: I9f0e6260476d5a41b7209a6a599f50a548b953b5
CRs-Fixed: 2733445
Enable handling to drop the raw Rx frames as both driver and stack
is not expected to handle them.
Handle invalid FISA flow index which is out of valid FISA flow_id range,
This can happen if we are looking at wrong or invalid TLV, in such case
it is OK deliver frame without FISA aggregation.
Change-Id: I746d4ad1ea5ba6d60cbadddb55803626abfb2868
CRs-Fixed: 2733978
Roam invoke is done by driver if reconnect to same bssid is
received or driver FASTREASSOC command is received from the
supplicant. If roaming module is not initialized at firmware,
then still we send roam invoke to firmware and firmware sends
roam invoke failure as part of which disconnection occurs.
Check if roaming module is initialized at firmware, else return
failure for the reassociation request from userspace.
Send failure only if the kernel version is greater than 4.9,
since the fix to handle reassociation failure is available from
this version.
Change-Id: I0feae326be751e50f7327c91739cd7dddab500e9
CRs-Fixed: 2724686
If 2 roaming disable commands are sent by wpa supplicant back to back,
2nd won't send RSO STOP to target since RSO STOPPED already, and
disable_lfr_event can't be completed any more since no RSO event from
target until 2s timeout, wpa_supplicant thread and nl80211 are blocked in
wlan_hdd_cfg80211_set_fast_roaming for 2s too.
Fix:
If roaming is stopped by wpa_supplicant already and to be disabled again,
return QDF_STATUS_E_ALREADY in sme_config_fast_roaming.
Change-Id: I7d15a4d4bd8e13ff410a7023f80b418eea435fcc
CRs-Fixed: 2733945
With same structure used in src and destination use memcopy
instead of individual assignment of the params in
csr_update_score_params
Change-Id: I18a459824e12ea6e599cf4363a0a569ba6b98045
CRs-Fixed: 2734503
In lim_populate_peer_rate_set(), bss description is obtained by
dereferencing the bss descriptor from session->lim_join_req.
But in LFR-3.0 roaming case, the lim_join_req will be NULL, since
roaming is south bound operation and there is no csr join request
message after roam. So this results in NULL pointer dereference
of bss_description in lim_populate_peer_rate_set() while
handling LFR-3.0 roam synch indication event.
Pass the correct bss descriptor from caller to ensure that valid
bss descriptor is passed to the lim_populate_peer_rate_set() api.
Change-Id: I3af915d5753c7aa054dc6d8766e51fd62c8314bb
CRs-Fixed: 2733807
Add macro ROAM_OFFLOAD_V1 for new code and implement below functions
for connection manager roam part:
csr_handle_roam_state_change() roam offload state related handler.
Filling WMI_ROAM_SCAN_RSSI_THRESHOLD cmd parameters related process.
Change-Id: I0351155ca5a3d68ade6568c7527c5708582ccf1a
CRs-Fixed: 2730826
Rename file name and modify function names to keep it inline
with sysfs attribute name 'dp_trace'
Change-Id: Id4e366bea50d1bda95ee02cd7edd02691d0f70c6
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'stats'
Change-Id: Iffc390d4865977f9eff72a6a4bcf708c014f482e
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'range_ext'
Change-Id: Icf7ebbbcf1b8b219e64d1c9b98f1946069f91322
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'wlan_dbg'
Change-Id: I7d0e7b67afa701abd64efb62012c218ee4ab158d
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'fw_mode_config'
Change-Id: Ia389fa8807bbd0e58de58c503d9f3bbbef9ec707
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'scan_config'
Change-Id: I6621cbe5571541d073072ef9e0348d771fd3bc4a
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'radar'
Change-Id: If13effc45323f5a286d8aeb7a8e27848cb3e618b
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'tx_stbc'
Change-Id: I274c1405fab7385202431b48d65603c38783222b
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'tdls_peers'
Change-Id: If6aa504dccd22ce0ccff11f3d73ffb1eedb5895c
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'sta_info'
Change-Id: Ibb13c1496ea1dd5bc3b024b99414ac8d72db3be6
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'temperature'
Change-Id: I8f31d59be9954d3ffe1ff7c11d16dd24b9e2644d
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'monitor_mode_channel'
Change-Id: Ic207d6e29c14a0b33ed4982d533a78729d32a4ba
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'channel'
Change-Id: I9c73e572bdb80edc3431180448dffd9843d6a720
CRs-Fixed: 2731064
FW sends a disconnect request to HOST while roaming failure
through event WMI_VDEV_DISCONNECT_EVENTID per vdev id.
Fix is:
1. Process WMI_VDEV_DISCONNECT_EVENTID and issue disconnection.
2. Make WMI_VDEV_DISCONNECT_EVENTID event as wakable
Change-Id: Ic1e83aace48a3e8424f23641b0e77c66f4283587
CRs-Fixed: 2731952
When FILS erp keys are not available, EAP initiate packet will not
be sent to the AP so FILS authentication wrapped data IE is not
required, but the driver is adding extra 3 bytes for wrapped data
even if wrapped data is not included. This will cause issues with
the FILS AP.
Don't allocate bytes for wrapped data if ERP keys are not available.
Change-Id: I9bd8033048829eeaf63ce123129e64f2685df04f
CRs-Fixed: 2732852
Currently reinit resets the recovery in progress flag when
reinit is successul. It may happen that after initial handshake
with FW during reinit, FW crashes and send the FW down indication
to the driver. Driver sets the recovery flag in FW down but it gets
reset on the successul reinit.
Now on subsequent shutdown, driver crashes as recovery flag is
reset by last reinit.
Check for fw down to reset the recovery flag on reinit completion
CRs-Fixed: 2727205
Change-Id: I88effc1211de138351ef9b232645d0c616a9d5dc
While BSS are scored apply blacklist logic to remove
blacklist AP or move the avoid AP at the end.
Change-Id: Id5310ef53d31159104fd40af6670135bb1be4571
CRs-Fixed: 2725144
Userspace can configure different roam control params as
defined in qca_vendor_attr_roam_control through the roam subcmd
QCA_NL80211_VENDOR_SUBCMD_ROAM and the below attributes:
QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_SCHEME
QCA_ATTR_ROAM_CONTROL_CONNECTED_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_CANDIDATE_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_USER_REASON
Send value of above attribute to fw through command
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID for trigger
reason WMI_ROAM_TRIGGER_REASON_BTM_WTC.
Change-Id: I17502eebab56652192164144b7ebdadb32033117
CRs-Fixed: 2729119
The event WMI_ROAM_STATS_EVENTID is received after
every roam, once the roam synch complete is sent by the host.
This event contains details regarding the btm response.
This helps in debugging/understanding the scenario when roam
failure happens.
Print the info received related to btm rsp and roam initial
info into kmsg.
Change-Id: Icb2058eed5df3265018b3c53548d123f3a4faf4f
CRs-Fixed: 2728267
SAP sends unicast disassoc to associated stations
as part of the del station request from userspace.
But host is flushing the tids as well at the same
time causing a race in FW which is failing to send
out the unicast deauth/disassoc. Fix is to add the
delay between sending the unicast frame & flush tid.
Change-Id: If52da8766f72b8f5a1ed97ca5e1d9f87d82840d8
CRs-Fixed: 2731483
The EDCA parameters in SAP mode are reset to default values
defined in EDCA config strings when the first station connects
the BSS and again when the last station leaves the BSS. it
overrides the EDCA parameters values configured from the hostapd.
Add a check to avoid resetting EDCA parameters when SAP is not
operating with ANI profile.
Change-Id: Iecf21b4c35192e98ea9e96b50c0ba0d6d5382a40
CRs-Fixed: 2725446
If ERP key lengths are greater than maximum valid lengths,
currently the connect request is allowed to go through.
Allow fils connection to go through only if erp keys are
not sent in connect. If erp information is present, validate
the rrk, realm, username length.
Add changes to lookup pmkid based on bssid also in addition to
the existing logic to lookup based on fils cache_id and ssid.
Change-Id: Iebde1f382b7db13553b848a459cb4a783744c2a6
CRs-Fixed: 2732050
Host sends SAE auth retry frames if the response/ack for the previous
SAE auth is not received. In roam scenarios like roam abort, HO fail
host don't need to send SAE auth again.
Hence cleanup sae auth timer for roaming scenarios.
Change-Id: I617a61fdb4ce7b6afa66415ebc33a2ce23e3821b
CRs-Fixed: 2730888
Currently the driver intersects the 2g and 5g
capability and stores them in the HE cap variable
of the same PHY.
In the HW where a single PHY supports both 2g and
5g and with max BW support of 160Mhz, the intersection
of 160Mhz and 80+80Mhz MCS will lead to zero as 2g will
not support 160 and 80+80 BW. Hence the MCS map will be
0 for them indicating that the STA would support only
till MCS 7 and not above that which would lead to a
lower coding rate and lower QAM thus resulting in
a lower throughput.
Fix is to not intersect the MCS capability of 2g and 5g
and copy MCS directly from the target capability.
Change-Id: Ice5c426db43516b5dff5379926086b40d69f3d96
CRs-Fixed: 2732512
For WPA3 SAE, host runs pmf comeback timer to retry assoc request. Host
retires assoc request once if assoc response has response status as
TRY_AGAIN_LATER after 1 seconds.
Problem scenario:
Host sends assoc request to which AP respond with assoc response status
TRY_AGAIN_LATER, deactivates assoc response failure timer and retransmit
assoc request after 1 second. After 1 second host retransmit assoc req
and marks this is "retried" assoc request. If to the retried assoc
request host gets assoc response with reason status TRY_AGAIN_LATER,
host deactivates assoc failure timer and drops the assoc response.
Thus association does not complete and even association timer doesn't
trigger.
Fix:
deactivate assoc failure timer after checking the assoc response status
is not TRY_AGAIN_LATER and deactivate pmf comeback timer on assoc failure
timer gets trigger.
Change-Id: I7fc89063efec3c4a5b0521e9ff8301d6ea64683e
CRs-Fixed: 2730194
If CONFIG_WLAN_FEATURE_DP_RX_THREADS is not defined then
dp_rx_napi_gro_flush function will not get compiled from
dp_rx_thread.c, report compilation failure.
Modify dp_rx_napi_gro_flush to static inline type out of
dp_rx_thread.c.
Change-Id: Iad7619e29f6175bc80f2618b3675feafd7f3260d
CRs-Fixed: 2732503
Currently in SAP case if a station disconnects and re-connects
to the SAP, in the process of register sta, SAP clears
previous reference of the station and re-initializes the sta
info. Because of this when the thread which actually took the
reference, tries to release the reference, is not able to release
the reference as the ref count is already set to zero as part
of the reconnect which results in undefined behaviour.
To address this issue, retain the ref count of the sta info
in case of re-connect from the same station.
Change-id: Ie9558ca8e59601b48f9be7fff37cc530874ab5ad
CRs-Fixed: 2730782
The band_capability field is used in other places to be
a bitmap over reg_wifi_band. Update the field in wma_tgt_cfg and
wlan_mlme_generic to take the same bitmap for consistency.
Update all references to these fields to expect a bitmap as well.
Change-Id: I8abd697e2fbe02b4eadd32f3027bef7408bac2a0
CRs-fixed: 2726710
Update calls from reg_get_curr_band to reg_get_band since
they provide the same functionality.
Update calls to reg_get_band to expect a bitmap since the API
has been updated.
Update getband driver command to convert the bitmap to the
old values. Also add the new vendor command getband.
Change-Id: I069489ebf4826f8f4bfcb974b74e4d0591d5b33f
CRs-fixed: 2726361
Update both the driver and vendor setband command to support the
new 6G band. Specific changes include:
1. Update driver setband command to convert userspace
input into a setband bitmap.
2. Update vendor setband command to accept a bitmask
or a value
3. Add support API to convert between vendor mask and reg
bitmap.
Change-Id: Ic968261ce5c3712f1e73cac0cb5a5f030118753a
CRs-fixed: 2726314
Any direct reference to adapter->vdev outside the initial
assignment should use get/put to properly refer the vdev.
core/hdd/src/wlan_hdd_nan_datapath.c
core/hdd/src/wlan_hdd_p2p.c
core/hdd/src/wlan_hdd_softap_tx_rx.c
Change-Id: I2e98ca517c63ad0a03d3539fc9f97f8e466ba2ab
CRs-Fixed: 2714025
Any direct reference to adapter->vdev outside the initial
assignment should use get/put to properly refer the vdev.
core/hdd/src/wlan_hdd_power.c
Change-Id: I68a093c92e57b7076cf4f41e9f69f747f0c7e6ec
CRs-Fixed: 2714025
Any direct reference to adapter->vdev outside the initial
assignment should use get/put to properly refer the vdev.
core/hdd/src/wlan_hdd_ioctl.c
core/hdd/src/wlan_hdd_station_info.c
os_if/interop_issues_ap/src/wlan_cfg80211_interop_issues_ap.c
Change-Id: I897ee8ac2a4816b91ed48e2c32e97540430c5520
CRs-Fixed: 2714025
Firmware sends the HTT msg which has information about the
CFR. This information is required by CFR component to get the
CFR data capture.
Call CFR ucfg api to pass this CFR related info to the CFR component.
Change-Id: I6e9bdd991d8e7f84f35231900fc00ed18e89f835
CRs-Fixed: 2724722
ICNSS2 platform driver is used for moselle and adrastea which uses
IPCI and SNOC PLD layer, respectively. Add support to enable both
for ICNSS2 based to target flag.
Change-Id: I06fbacade99b09c9ea7347aa28e10968eaeedaa8
Introduce new INI sae_connect_retries to decide auth (initial connect
and roam auth) and connect retry for sae. MAX reties is capped to 2
and max for roam auth is 1.
Default is 0x49 i.e. 1 retry each.
Bits Retry Type
BIT[0:2] AUTH retries
BIT[3:5] Connection reties
BIT[6:8] ROAM AUTH retries
Change-Id: Idae86a7bdb32244c7f3a140b8591418b8238758a
CRs-Fixed: 2728458
Use global operating class to initiaize operating class array.
Country specific operating class table is used less and less now,
so use the global operating class by default.
Change-Id: Iaa6559d47cb1d8d30c8826dc3e7d5b63c743297b
CRs-Fixed: 2728601
Present source of self RSN capability to copy in RSO command i.e
csr_roam_session's rsn_cap is zero, A new capability OCVC (Operating
Channel Validation Capable) bit is in RSN capabilities. FW enables
OCV feature only if STA and AP both supports it.
Hence update self RSN capability to FW in RSO start/update command.
Change-Id: I1db500142560ec64a24ffab0c414c0c2b733e454
CRs-Fixed: 2721095
When nan_sap and nan_disable are supported but nan_dbs is not
supported,
1. Allow SAP+NAN concurrency if force SCC is supported
2. Disable NAN if SAP comes up on a different band and force SCC is
not supported
3. Reject NAN enable if SAP is already on a different band and force SCC is
not supported
Change-Id: Ic53eedcda2e5b314f9be2a4bd913d5e63f6613a2
CRs-Fixed: 2729986
nan_disable_support is the firmware capability to allow host to
disable NAN. So that host can disable NAN in any unsupported
concurrencies. This was actually introduced to handle
NAN concurrencies. Rename the capability flag and corresponding
APIs across host driver to resemble the functionality.
Change-Id: I24805194fdb855040bcc518acc96459ee7cb5128
CRs-Fixed: 2729984