Currently host driver does not update phy mode in link adapter.
When host driver gets country update or set fcc constraint
command it tries to check if there is any change in phy mode
for all the connected adapters. Since link adapter is connected
adapter and at the time of connect success driver does not update
phy mode in link adapter, this check fails for link adapter
and host driver issues disconnect.
To fix this issue, update the phy mode correctly in link
adapter as well at the time of connect success.
Change-Id: Ia208fa183c8d1fa7f902cb614bf9ca704bc30ed6
CRs-Fixed: 3313529
Presently host don't know whether event is rsp to the command
or async event from FW.
Handling req and async events with new enum
wmi_oem_data_evt_cause added in FW to represent event causes,
WMI_OEM_DATA_EVT_CAUSE_UNSPECIFIED,
WMI_OEM_DATA_EVT_CAUSE_CMD_REQ,
WMI_OEM_DATA_EVT_CAUSE_ASYNC.
Change-Id: I31a3f415fed64dc6231ca0eb29de5b80c94493f3
CRs-Fixed: 3305281
Currently in some APIs hdd_for_each_sta_ref macro is used to iterate
over each station stored in the sta info container. It might become
infinite loop if same station entry used parallelly by two threads,
when one deletes the station, causing next pointer to point to
it-self hence an infinite loop will form for the other thread.
To address this issue use the hdd_for_each_sta_ref_safe macro and
for delete hdd_for_each_sta_ref macro to avoid such scenarios.
Change-Id: Ia4b2a3e1ef61a00eebddbb3a4d892a912ad3313d
CRs-Fixed: 3295300
Move 11be_rate sysfs entry implementation from HDD EHT main body
to separate source files and define WLAN_SYSFS_EHT_RATE feature
flag accordingly in Kbuild.
All sysfs implementations shall be built only if CONFIG_WLAN_SYSFS=y.
Hence correct dp_tx_delay_stats and the closing endif.
Change-Id: I84aa7fc34aeff932bb51800e70c4c3611bf0d627
CRs-Fixed: 3309689
To protect user privacy, print SSID with QDF_SSID_FMT
and QDF_SSID_REF, then SSID will be hide in logs if
anonymization is enabled.
Change-Id: I3dd129b52c85c84e666f4f07b28a1e58f81259b7
CRs-Fixed: 3291841
Currently the AKM information is sent as uint16_t variable
this leads to truncation of 1byte in connecting event of
advanced connectivity logging.
Update the AKM data type from uint16_t to uint32_t.
Change-Id: Ibe359636cb32b66ed99ee8ccb8ce33299908325b
CRs-Fixed: 3307515
User can modify power save value which will be sent to FW.
IPv4/IPv6 notifier work will also checks this user configured
power save to send set ps request to FW, a possibility of
race condition exists when both user request and inet notifier
work are running at the same time.
Flush the inet notifier work to ensure the set PS calls are
serialized.
Change-Id: Ib7def61c961835682a6f72d6fb4bd97bd7ffff0f
CRs-Fixed: 3310057
Currently host allocates OEM data with memalloc and frees
this memory at stop modules. Because of this host driver
is not able to share the oem data information when wifi
is off.
Based on new requirement driver needs to share this oem data
information on wifi off as well so change the oem data as
static allocation so that this information will remain intact.
Change-Id: I839c4da0c589afe0e0ace1138c568b2a07d66ef6
CRs-Fixed: 3311089
For STA mlo connection the AP might send M1 right after assoc
response on assoc link which can result in keys sent down to FW
for mlo links before host has sent wmi_peer_assoc for link vdev.
Current code does not have handling for this case.
To solve this, store the keys and once connection is completed
on link vdev send keys.
Change-Id: I3675451ef0e047caf8c77d256ea67f0eac6ed797
CRs-Fixed: 3289589
Currently, In case of get_channel, driver sends assoc vdev get_channel
info only to userspace for MLO connection.
To support per link channel_info, driver will send
get_channel info for link vdev also.
Change-Id: I48e1d8803223e6291060cd14a423b3079c17a61f
CRs-Fixed: 3296677
Pattern id and vdev id are not filled explicitly for
CoAP offload reply enable request, which will cause
failure when the ids are not 0.
To fix it, fill the vdev id and pattern id accordingly.
Change-Id: I74b4b26d08e48e9d08d041293cff6f4ab92272e1
CRs-Fixed: 3310734
As per the new customer requirement, modify the format
specifier for the get_wifi_feature print.
Change-Id: I6ec605be7a4f77f3d4f8b6d65782dfcdfea2d75b
CRs-Fixed: 3310140
Issue1:wlan_hdd_set_mlo_ps function returns uninitialized
status on condition of being all link_adapters as
NULL from mlo_adapter_info.
Fix:initialize status varible with -EINVAL.
Issue2:hdd_regulatory_init API updates regulatory alpha2
from uninitialized alpha2 array.
Fix:initialize alpha2 array with 0.
Change-Id: I7e279899a8465a9b457fbe06ff81c57364be2843
CRs-Fixed: 3307965
If is_pre_cac_on is set, in __wlan_hdd_del_virtual_intf firstly
frees the sap context by calling hdd_clean_up_interface and then
frees the pre cac by calling hdd_clean_up_pre_cac_interface this
will fails to access the sap context which is already freed.
So, replace order of calling, firstly hdd_clean_up_pre_cac_interface
and then hdd_clean_up_interface.
cds flush work will cancel the work which will not delete the pre cac
vdev. Replace with qdf_flush_work will wait for a work to finish,
executing the last queueing instance.
Assign NULL to fn and arg of pre cac work to ensure proper cleanup
of work
Change-Id: I093bf627ce7a73e7c4f7c4cf30e2ec56814a80ed
CRs-Fixed: 3286477
In management frame TX path from userspace, the
p2p_set_mac_filter structure is used and is defined under P2P
converged macro.
Converge this p2p_set_mac_filter structure to set_rx_mac_filter
structure in qca-wifi-host-cmn to use this by all components
Change-Id: Iefcf36f8b327458b2418bd364ae84b28ca56e7f9
CRs-Fixed: 3306700
To avoid wma_vdev_detach_callback() is run under interrupt
context, post wma_vdev_detach_callback() to driver scheduler
when vdev delete is failed to send to FW.
Change-Id: I87a603de326789ac43dac34de31eb564f13d11f5
CRs-Fixed: 3308547
Currently, pe_session->lim_join_req is freed when there is a
failure in creation/filling the session for link. The same is
attempted to free in pe_delete_session() also.
Set it to NULL once it's freed to avoid double-free.
Change-Id: I6908fc768d782dfe4fe542ccb75ba2cabeb52d0f
CRs-Fixed: 3310292
With FEATURE_WLAN_TDLS=n, compiler is throwing implicit
declaration error of function wlan_tdls_get_features_info.
Hence add wlan_tdls_get_features_info stub declaration for
FEATURE_WLAN_TDLS=n.
Change-Id: Ia9820e630b756befbfda98330be193760a331c93
CRs-Fixed: 3309612
Build failed once WLAN_TRACE_HIDE_MAC_ADDR is enabled,
due to 'error: type mismatch in conditional expression'.
To fix it, correct the parameter for QDF_MAC_ADDR_REF.
Change-Id: Ifd89b02ab5fb2e3b59291c303ad93b691616dc57
CRs-Fixed: 3308193
In case if supplicant issues probe request without ROC,
Host should drop it for STA mode.
Change-Id: I290f441f6ddc41dd8d7434ad7d4fd1b4fcc0c22e
CRs-Fixed: 3296264
In current implementation ML adapter will get MLD address
from a separate pool of addresses rather than provision or
derived list.
Remove this separate pool for MLD address and get MLD address
from the provision list or derived list.
Change-Id: I11a10fe1331dba6d16f82cbd1ab4c04ada70acb6
CRs-Fixed: 3308051
Currently host driver creates feature sysfs node at the
timne of start modules.
Based on the new requirement create sysfs node at driver load.
Change-Id: I0030295e69af451eae1c02d6dfae2bcdc2df9cad
CRs-Fixed: 3306174
The last channel event data whose command flag is set to 1.
It’s basically an event with empty data only to indicate
scan event completion. The process of WMI_CHAN_INFO_EVENTID
should ignore it or it takes the freq 0 as selecting first
clean channel for ACS which is not expected.
Change-Id: Ia64b4ad16fa3571363f16fe419cf861fbbe19038
CRs-Fixed: 3306049
Currently host driver gets the wifi kobject from platform
driver based on the bus type, since this is a generic
functionality and it can be used for any bus type,
so add a logic to get the wifi kobject irrespective of
bus type.
Change-Id: I58b18f0006494e0602ef3b00dc5728071c7a0306
CRs-Fixed: 3308565