The kernel-doc script identified a few documentation issues in
components/son, so fix them.
Change-Id: I2aaa6746b05a963113ea78111a4cc45f35c1f98c
CRs-Fixed: 3359822
The kernel-doc script identified a multitude of documentation issues
in components/pmo, so fix them.
Note that there is currently one false positive error being flagged in
the documentation for typedef pmo_get_vdev_dp_handle.
Change-Id: Iddaccbf1b55557a82af34d2b6b4913d37c71123a
CRs-Fixed: 3359766
Currently, based on config_direct_link variable, link is voted
up or down which can result in same multiple votes.
To fix this, vote link up or down if there is a change in
previous config and incoming config_direct_link argument.
Also, return status success when direct link is not enabled
but dp_config_direct_link is called.
Change-Id: I4f54d74a9d4921f27f247450f89a03d6dabc838e
CRs-Fixed: 3375395
The sta_info_list of SAP adapter has two entries for a single
ML STA client, one with link address and other with MLD address.
Hostapd will request peer stats with MLD address for ML client,
and driver will lookup in sta_info_list with MLD address and
finds one, but that entry will not have link address and sends
MLD address to FW to get peer stats which results in timeout
as FW doesn't respond to peer stats request with MLD address.
Remove the second entry in sta_info_list for ML client and
enhance hdd_get_sta_info_by_mac() API to also lookup mld_addr
of each single sta_info in the list.
Change-Id: I8a0f38cec0290e5f82a71380585ebac78812bb53
CRs-Fixed: 3363384
When delete pmksa is received, firmware looks up the entries
against the vdev mac address and the AP bssid. But during
disconnect, when update mac address happens, the pmksa entry in
firmware is not deleted since the self mac address lookup fails.
This causes roaming failures after next connection.
Send PMKID in the PMKSA delete command to delete the individual
pmksa entries based on PMKID alone.
Change-Id: Icf9ff2dc8aa85ffa212167ce1691fe18fe3a23c5
CRs-Fixed: 3363253
Set to_fw bit in DP vdev for direct link use case
and also set it when the use case is unspecified as
well.
Change-Id: I7306e22e81303720830cfce4ce19b15d2080d93c
CRs-Fixed: 3369891
Idle shutdown timer will be triggered once all interfaces are closed.
Clear interface open flag before idle timer triggered.
Change-Id: Ib4a238ccb11ca6d418788d62df44ba800928fdf1
CRs-Fixed: 3374187
Currently in the function hdd_set_ratemask_params, which handles
requests for the vendor command QCA_NL80211_VENDOR_SUBCMD_RATEMASK_CONFIG,
parses the attributes according to the wlan_hdd_set_ratemask_param_policy,
and copies them into the struct config_ratemask_params.
But in the nla_policy, the length of the parameter
QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_BITMAP is set to 128 bytes instead
of 128 bits (16 bytes), causing stack buffer overflow when copied onto
16 bytes stack buffer. To avoid this issue change the parameter length
from 128 bytes to 16 bytes.
Change-Id: I053d3810e3b4942344d7f1a12e365e9cfc71a492
CRs-Fixed: 3342629
When process hdd_process_ll_stats, the results->num_radio
may be 0 and it causes issue like
"Cannot malloc 0 bytes @ hdd_process_ll_stats:1475"
To resolve this issue, add checking before malloc memory.
Change-Id: I48d4a4045ebdad7465a97417e6514849cf12ef15
CRs-Fixed: 3374212
If ML SAP interface is created on ML STA interface, the MAC
address of the link adapter is changed to MLD address as SL SAP
uses same address for MLD and link. This leaves the DP interface
created with link address during open adapter is not cleared
and also leading to two adapter having same link address which
results in calling DP interface delete with same MAC address twice
and eventually leading to device crash.
Release the DP interface on mode change to ML SAP and create new
DP interface on mode change from SAP to STA. If close adapter is
called while in SAP mode then don't delete DP interface for link
adapter.
Change-Id: I001d4733ba208ccbbd2d65b53497d5120f27a179
CRs-Fixed: 3351414
Reproduce steps:
1. Driver received roam start from F/W, enqueue roam cmd in active queue.
2. Driver received disconnect cmd from wpa supplicant, set link vdev
vdev1 as disconnecting, enqueue disconnect cmd in pending queue.
3. Driver received MLO roam sync event from F/W, need handle link vdev
first, assoc vdev later.
4. Driver didn't handle link vdev1 roam sync for disconnecting state, DP
MLD peer isn't created.
5. Driver handled vdev0 roam sync, dp_peer_setup failed for DP MLD
peer not created, asserted.
To fix it, when handle vdev0 roam sync, check state of all mlo vdev,
if either disconnecting, abort roam sync, and delete roam req, let
disconnect from upper layer continue.
Change-Id: Ie03e0031908fef0f403d2cacf8ec976a147ef1ed
CRs-Fixed: 3371850
center_freq_diff may overflow int8 when channel width is 320 MHz.
Also clear acs_ch_params before pass it to regulatory API to avoid set
mhz_freq_seg1 which is uninitialized value.
Change-Id: I497ae02c7b53458537e706f2231c0ffef2439961
CRs-Fixed: 3371957
Introduce diag logging support for Neighbor report and
beacon report via event id EVENT_WLAN_NBR_RPT and
EVENT_WLAN_BCN_RPT.
For Neighbor report token, ssid, report number, frequency
list and frequency is sent. For Beacon report token, mode,
operating class, channel, duration, request_mode and report
number is sent.
Change-Id: I7ef407fa729e608ad0a7036f024acbf8b5180181
CRs-Fixed: 3370758
In current design, deauth will be sent for invalid rx
indication since it is expected only for unassociated
STA. However, if due to some rxdma errors, invalid rx
indication is received for an associated STA, then SM
cleanup for the associated STA would not happen after
the deauth. This stale SM entries causes association
failures during the next connection attempt from STA.
Fix this by preventing the deauth for the associated
STA on receiving a invalid peer indication.
Change-Id: I25cbc578ba76e74120e975f142334ff0fd931a6a
CRs-Fixed: 3359541
When nss is set to 1 then nss value is updated only for 80 MHz.
Update the he mcs map value for 160 MHz BW, to reflect the
updated nss value for 160 MHz as well.
Change-Id: I8a6090e4c58881a1ff7612d0dbfe788f8d8a2bcc
CRs-Fixed: 3369843
As part of assoc confirm, limMlmState is set to
eLIM_MLM_WT_DEL_BSS_RSP_STATE but in
lim_process_switch_channel_join_mlo its sets to eLIM_MLM_IDLE_STATE
leading to connect completion not completed as it expect
state as eLIM_MLM_WT_DEL_BSS_RSP_STATE, resulting in connect
command timeout.
To fix remove the resetting of limMlmState to eLIM_MLM_IDLE_STATE
Change-Id: I543eb25002859894eddc883c27a124d9fe713be7
CRs-Fixed: 3372631
Two different crashes are observed due to rtpm get/put count
mismatch for HIF_RTPM_ID_HTT dbgid.
1. During idle timeout shutdown: Missing rtpm related htc packet
tags for htt_h2t_ver_req_msg(), htt_h2t_frag_desc_bank_cfg_msg()
and htt_h2t_rx_ring_rfs_cfg_msg_ll() messages cause system crash.
2. During wlan connect: In ol_tx_completion_handler(), rtpm put is
called without rtpm get.
Fix given:
1. Add relevant HTC_TX_PACKET_TAG_RUNTIME_PUT and
HTC_TX_PACKET_TAG_RTPM_PUT_RC in the above functions to invoke
missing rtpm put calls and call htc_dec_return_htt_runtime_cnt()
to avoid calling rtpm put without rtpm get in htc_cleanup().
2. Remove extra htc_pm_runtime_put() from ol_tx_completion_handler().
Change-Id: Ia9163464af0fc0700046578633e9587c009841f5
CRs-Fixed: 3357909
Currently, in case of Tx action frame driver start the ROC req based on
the offchannel is set. Due to this, if the TX action freq is same as
current vdev freq then also driver started the ROC req on the same
channel.
Fix is, even offchannel is set, but current vdev freq is same as
that of the channel for the tx frame. Driver will skip the ROC.
Change-Id: I7ab2ade0f01ad5035f7b156ded7eb7af7c826b9e
CRs-Fixed: 3366671
When STA has connected with AP in EHT mode, STA sends 160 MHz
bandwidth to firmware in vdev start command. But during peer
assoc command STA has sent 80 MHz whereas AP has sent 160 MHz
bandwidth.
Due to puncturing AP's sends seg1 in VHT IE as 0 which causes
this issue, as driver supports EHT it can associate with EHT
operating bandwidth.
As part of fix, check EHT IE and if EHT IE supports 160 MHz
then send channel width as 160 MHz only.
Change-Id: Ib1d502401db997ef2567e64c3f8cbad42018e891
CRs-Fixed: 3364333
The stats from FW are not updated into the adapter
which can cause driver sending invalid RSSI and SNR values
to userspace when the target/host doesn't support ML.
Updated to the stats received from FW into the adapter.
Change-Id: I4040d61f91396b094ea4237a22cc8f103c6433af
CRs-Fixed: 3372110
While processing START SAP req, Host calls wlan_sap_get_concurrent_bw
to calculate SAP BW based on the concurrent channel & STA DFS channel.
The below issues are present due to current logic to calculate SAP BW
in this API:
1. In the case of standalone SAP, this API returns SAP bandwidth as
80 MHz always, this results in standalone SAP will never come up in
other BWs.
2. In the case of non-DBS HW, the host is not considering the value of
INI "g_sta_sap_scc_on_dfs_chan", the value is defined by the enum
PM_AP_DFS_MASTER_MODE.
By considering the value of STA DFS channel, HW mode, and INI
g_sta_sap_scc_on_dfs_chan, modify the logic to calculate concurrent
as well as standalone SAP BW in API wlan_sap_get_concurrent_bw.
Change-Id: Id521893feb9b6173efc2704f37dfa59f405655e2
CRs-Fixed: 3363394
STA fails to connect to 11BE AP if dot11mode ini is 11AC.
This is because driver fails to get intersected phy mode
Fix by allow connection for BE AP if VHT IE is present in beacon.
Change-Id: I76966fece5d2ad4b5213e77a6ebd1687b78cd27a
CRs-Fixed: 3364959
Issue1:Compilation fails when CONFIG_FEATURE_WLAN_EXTSCAN
is enabled as the latest kernels(>=5.2) expect
two params(policy and maxattr) as vendor_command_policy
whereas vendor_command_policy is empty for old kernel.
When the macro FEATURE_EXTSCAN_VENDOR_COMMANDS is
replaced, it results in a compilation error as
the comma is missing between vendor_command_policy
and the previous param for latest kernel.
Fix1:Add a comma between vendor_command_policy and
the previous param(.doit) to make it compilable
for newer kernels as well.
Issue2:As part of recent code changes
all occurrences of blacklist/whitelist replaces to
denylist/allowlist in the driver.
which replaced interface structure member in the driver,
without changing actual definition of interface structure,
causes compilation error.
Fix2:Rename to actual structure member names.
Change-Id: I0024de7bf237c13297ed9a088a73a9f5c6a78d17
CRs-Fixed: 3370114
For OSEN connection, there is no RSN IE advertised by the
HS2.0 AP. So the driver marks the auth type as open and
sends peer authorization before EAP, EAPOL and vdev
key installation is completed. This causes the EAPOL 4/4 frame
to be dropped by the firmware and AP sends de-authentication to
the Station.
For OSEN connection, authorize the peer after install key
happens based on the connect_rsp->is_osen_connection flag.
Change-Id: Ie490cc20de4f24f0343dcec0d12a9a4be5a1ab76
CRs-Fixed: 3349792
1. If CSA failed for last CSA in progress, can't stop SAP, SAP stop and
SAP CSA concurrency may lead to assert.
2. When access global var like pm_conc_connection_list, always need add
lock protection.
3. During CSA in progress, NAN CSA don't block current thread, just
return.
4. When SAP CSA completed, need check whether need CSA again for NAN
started during CSA.
Change-Id: I076ecad7395a265bbe83aaf97617a9a8b6c8b41a
CRs-Fixed: 3357265
The wpa_supplicant disables the BTM cap in extcap IE whenever
the MBO AP is not PMF capable, or if the btm_disable conf is set.
In current host driver design, the BTM offload is disabled only for
the MBO+non-PMF case. Therefore, add change to disable the btm offload
config if the BTM CAP is not present in the (re)assoc request as this
is determined based on intersection of peer and self cap.
Change-Id: I2fdc1010bccf5ce23f4ab2177aed6c374f7a510f
CRs-Fixed: 3369096