Current peach config does not have
CONFIG_4_BYTES_TLV_TAG required for
peach chipset. Fix this by adding
this config.
Change-Id: Ie31fa5447db1558e42e3097211aed301f9679d91
CRs-Fixed: 3605327
Enable the CONFIG_HIF_DEBUG for Genoa module to get more
info for further debugging.
Change-Id: Ie60a1746dbd26cd5573cc6c5dab07c9c9196d419
CRs-Fixed: 3618364
Current code does not have config files
for sun. Fix this by adding config files.
Change-Id: Iffda8ea002bf4568006e8577e59ef7864491635e
CRs-Fixed: 3603131
The lim_handle_sme_join_result will set mlme connection failure to true
before delivering event WLAN_VDEV_SM_EV_START_REQ_FAIL when substate is
SS_START_START_PROGRESS, it might call wma_send_vdev_stop, which will
reset mlme connection failure to false again.
Set vdev start failure to true in the lim_handle_sme_join_result to
let wma_mlme_vdev_notify_down_complete do not free the data due to this
data is not allocated in the heap in the lim_handle_sme_join_result.
Here is the potential call stack for your ref as below which might free
the local variable param allocated in the lim_handle_sme_join_result:
[ 6776.197093] Call trace:
[ 6776.197152] __ksize+0x24/0xd0
[ 6776.197518] __qdf_mem_free+0x28/0x88 [wlan]
[ 6776.197880] wma_mlme_vdev_notify_down_complete+0xe4/0x180 [wlan]
[ 6776.198413] vdevmgr_notify_down_complete+0x54/0x68 [wlan]
[ 6776.199008] mlme_vdev_state_init_event+0x88/0x1c8 [wlan]
[ 6776.199353] wlan_sm_dispatch+0x168/0x1e8 [wlan]
[ 6776.199697] mlme_vdev_subst_start_start_progress_event+0xf8/0x1d0
[ 6776.200087] wlan_sm_dispatch+0x168/0x1e8 [wlan]
[ 6776.200458] wlan_vdev_mlme_sm_deliver_evt+0x60/0xf0 [wlan]
[ 6776.201043] lim_handle_sme_join_result+0xd4/0x104 [wlan]
[ 6776.201523] lim_process_mlm_join_cnf+0x84/0xc8 [wlan]
[ 6776.201855] lim_process_switch_channel_rsp+0x4a4/0x7cc [wlan]
[ 6776.202186] wma_handle_channel_switch_resp+0x114/0x2d0 [wlan]
[ 6776.202969] wma_vdev_start_resp_handler+0x38c/0x6e0 [wlan]
[ 6776.203866] vdevmgr_vdev_start_rsp_handle+0x48/0x58 [wlan]
[ 6776.204520] tgt_vdev_mgr_start_response_handler+0x68/0x128 [wlan]
[ 6776.206127] target_if_vdev_mgr_rsp_timer_cb+0x27c/0x4c4 [wlan]
[ 6776.208182] target_if_flush_psoc_vdev_timers+0x74/0x270 [wlan]
[ 6776.209455] wma_cleanup_vdev_resp_and_hold_req+0x24/0x64 [wlan]
[ 6776.209752] scheduler_target_if_mq_handler+0x4c/0xbc [wlan]
[ 6776.210048] scheduler_thread_process_queues+0x11c/0x3cc [wlan]
[ 6776.210344] scheduler_thread+0x9c/0x1e8 [wlan]
[ 6776.210677] kthread+0x16c/0x17c
[ 6776.210784] ret_from_fork+0x10/0x18
[ 6776.210879] Code: f2bffc09 d346fd08 f2dfffc9 927acd08 (f8696909).
Change-Id: I058d4f5e8526209d9bb17102a96be6625e1307e6
CRs-Fixed: 3614659
Add support for T2LM request/response event for
connectivity logging.
For T2LM request/response band, token, status, tx_status and
is_rx parameter are logged for the event.
Change-Id: I5d65c99896ec26b67b763679b105036975a938d5
CRs-Fixed: 3607151
RRM frames are processed by driver and response are sent
for supported frames. Still driver forwards all the RRM
frames to userspace.
This causes the userspace also to respond to the measurement
request frames and multiple measurement responses are sent to
the AP resulting in certification test case failures.
So avoid forwarding RRM measurement request frames to userspace
in STA mode.
Change-Id: I0930650b45424d31d66cb9e29e01eed5f4e38ed3
CRs-Fixed: 3614380
Add vendor configure attribute handler for
QCA_WLAN_VENDOR_ATTR_CONFIG_PEER_AMPDU_CNT, pass the user space
peer A-MPDU count configure to target through WMI_PEER_AMPDU.
Adjust input validation of wlan_hdd_cfg80211_wifi_set_rx_blocksize(),
to avoid respond with error if other command with PEER MAC input,
because PEER MAC attribute can be reused by other vendor configure
command.
Change-Id: I21b8800d12328177853ebab4715a7a5ae4195e18
CRs-Fixed: 3611765
Scan is rejected because in some failure condition
the disconnect event is not sent to the kernel.
Fix is when scan request is issued, check if current
vdev is connected using hdd api.
CRs-Fixed: 3593432
Change-Id: Ia230979a12f96f4a9972604f72ca4b888167403a
Add feature flag "WLAN_FEATURE_STA_SAP_P2P_CONCURRENCY" to allow
STA + AP + P2P concurrency when user enables
"WLAN_FEATURE_NO_P2P_CONCURRENCY"
Change-Id: I86e18939fd1df49de9e50ec3bc84526731e9ce9d
CRs-Fixed: 3606724
Currently, host receive the key in one thread
while simultaneously installing keys in a scheduler thread.
This change aims to resolve the synchronization issue by allowing key
installation only in one thread.
Change-Id: Ia2429db2a48eadf00574eaec99fb0c47f39c6d42
CRs-Fixed: 3609681
When host driver receives CSA event from firmware, lim posts
VDEV_RESTERT request with the CSA info. But the channel
switch operation may fail in further APIs due to any
reason(e.g. channel not valid for switch). Failure status is not
forwarded till lim in such cases as vdev SM always returns
true(success) when it handles the message.
So, the flag doesn't get reset in such cases.
Reset the flag in lim handler of VDEV_RESTART request when it
fails to send VDEV_RESTART command to firmware.
Change-Id: Iceeabd9cab46107ce7e2d14af121b0155c27673c
CRs-Fixed: 3602751
Parallel disconnect and CSA event handling leads to race
conditions in the below scenario,
1. Connect DUT to an AP
2. Trigger CSA from AP and firmware sends CSA event to host.
Host starts processing it.
3. Trigger a disconnect from north bound and it sends RSO stop
request to firmware as part of this. Host starts a timer
and waits for response. Disconnect would continue after
getting response from firmware.
4. CSA handling API sends VDEV_RESTART to firmware and
VDEV_RESTART also has wait-for-response mechanism with the
help of a timer. This timer stops the existing RSO_STOP timer.
5. Host gets RSO_STOP response but ignores it as the RSO timer is
stopped. So, disconnect doesn't continue and leads to active
command(DISCONNECT) timeout
Drop the CSA event if disconnect is already started on that vdev.
Check the connection manager state machine as vdev might still be
in connected state.
Change-Id: I5b6e004908add33170f2d5981790b9f001204d88
CRs-Fixed: 3611179
When link switch happens internal disconnect sequence happens on
that vdev, but RSO stop is not sent for assoc vdev during below
scenario:
1. Disconnect gets triggered from userspace when VDEV-0 is in
middle of link switch.
2. At the time of the disconnect, vdev-1 is assoc vdev and vdev-0
is link vdev.
3. For the disconnect request, first disconnect serialization is
posted for assoc vdev(0) and then for link vdev(1).
4. After the serialization is posted, link switch connection
succeeds and vdev-0 again becomes assoc vdev and vdev-1 becomes
link.
5. Now, serialization posted in #4 gets dequeued and assoc vdev
gets cleaned up first.
6. Link vdev-1 gets cleaned up next, and it posts RSO STOP for
assoc vdev and waits for response. However, vdev-0 is already
cleaned up.
7. Therefore, vdev-1 gets stuck in wait-for-rso-stop response
and leads to active command timeout.
RSO start for this assoc vdev will be sent after link switch
is complete when keys are installed.
So send RSO stop for assoc vdev during link switch start
Change-Id: I5563dacef6610fc7039b1d05798edf4b6364eebd
CRs-Fixed: 3612704
Whenever packet capture mode is enabled, all packets are forwarded
to host from firmware which causes frequent wakeups if WOW suspend is
allowed. This leads to flooding of WMI transactions due to WOW
suspend/wakeup and other WMI events due to packet capture mode over CE.
So, to reduce number of WMI transactions due to frequent suspend and
then wakeup due to enablement of packet capture mode, acquire a
wakelock and prevent runtime suspend whenever packet capture mode is
enabled.
Change-Id: I71b73e7327e14890dc8509b81b22e8b5611cbac6
CRs-Fixed: 3603566
This change makes two rx refill buffer pool size MACROs configurable,
so that they can be customized according to different platforms.
Change-Id: I638c71be0cd0b53f2db8351931abd54f80c5525c
CRs-Fixed: 3601396
Add connectivity logging API to send ML Link state switch
diag event.
When ML link gets enabled/disabled, this event will be
sent.
EVENT_WLAN_MLO_LINK_STATUS is the diag event for ML link
state switch event.
Change-Id: Ie10f1208875f86a5a5892ee2cfb2fabe18f200e4
CRs-Fixed: 3610060
In the MLO-MBSSID test, STA can request information of
non-Tx BSS through Tx BSS by configuring non-Tx BSS MLD ID
within the ML probe request that is invoked as part of scan
request. Add support to configure MLD ID in scan start
params to FW.
Change-Id: Iec5a144e597a7f6b9b741f279e4424f975c5115c
CRs-Fixed: 3561040
Currently, STA cannot perform SR when SAP does not include SR
IE in Beacon/Probe response/Assoc response.
This change is done to configure default non-SRG OBSS PD
parameters in FW in this case.
Change-Id: Ic37e5f011cb7e07ebbe4acef56b8c36c4e08c285
CRs-Fixed: 3551808
When vdev1 GO start, vdev0 STA RSO is disabled.
When vdev1 GO start completed, vdev0 STA RSO isn't re-enabled.
To fix it, if WLAN_FEATURE_11BE_MLO undefined, if_mgr_is_assoc_link_of_vdev
returns false instead of true, then wlan_cm_enable_rso can be called in
if_mgr_enable_roaming_on_vdev to re-enable STA RSO when SAP/GO/other
STA start completed.
Change-Id: I1a14a852734909927312297310eeaea8508aca61
CRs-Fixed: 3612716
Currently in the driver, the aggregated station stats are
updated for active links only. So, update the stats for
all connected links.
CRs-Fixed: 3615366
Change-Id: I4ebd3f0f99c623cdd12205f41c850b726093a6d7
Currently SAR version above 3 is not mapped in host.
This will cause unexpected print in logs.
So, update SAR versions enum as per the interface changes.
Change-Id: I3ed4ac7cbb2903bc30c4f3dae30633c13a5a29df
CRs-Fixed: 3606097
SRPS IE is not included in beacon, when Non-SRG OBSS PD SR Disallowed
bit is set in he_spr_sr_control hostapd configuration parameter.
Code changes are done to update beacon template to include SRPS IE to
communicate to all the connected STAs that, the Non-SRG OBSS PD based
SR transmissions are not allowed in the BSS.
Change-Id: I4090099de20fe383f16e60ad871faa4f42549a24
CRs-Fixed: 3533287
Add a sanity check to validate the vdev_id returned by firmware
for vdev_summary_stats and vdev_chain_rssi_stats.
CRs-Fixed: 3614088
Change-Id: If2e798459f7069aa5495169dd39b98ad8864b2e4
Currently while extracting vdev extended summary stats, host
checks for number of vdev stats sent by firmware and fails if
the number is greater than WLAN_MAX_MLD. This sanity check will
be false positive, in case of MLO STA + STA/SAP concurrency.
So, to avoid such false positive failures, use WLAN_MAX_VDEVS
to validate number of vdev extended stats sent by firmware.
Change-Id: I067f847ca6c436ff23166e19ecc721e6d95f0294
CRs-Fixed: 3613398
If FW roams with 3-links, assoc beacon and link beacons
are sent by the firmware in roam sync frame event.
However, driver parses the per-sta link info of the
assoc beacon and caches the individual per-link probe
responses only if the link beacon is not present.
Therefore, in 3-link roaming cases, if both assoc link
ML probe response(assoc link + one partner link) and link
probe/beacon are received, then the per-sta profile present
in the ML assoc link probe is not saved to the scan cache
and this leads to bss retrieval failures.
To fix this, parse per-sta profile and generate individual
probe responses directly from the roam sync frame event for
both link and assoc beacon/ML probe responses. This caches
all the partner links individually.
Also, set the assoc state for the standby link bss after the
completion of roam sync processing on assoc vdev. This prevents
the age out of the standby link scan entry.
Change-Id: Ib349aedb826d5037c6015434557d909477e87e5a
CRs-Fixed: 3613058
Currently SET_DISABLE_CHANNEL_LIST command is used to disable
legacy channels only.
Update this command to accept frequency for all the bands along with
the channel numbers from legacy (2.4 GHz/5 GHz).
Change-Id: Id55493acfa115da059404af1cd3901e877e46632
CRs-Fixed: 3601196
Currently the user configured MFP state that comes from the
userspace in connect request is not handled or processed.
Instead the RSN caps from assoc IE of connect request is inter-
sected with AP RSN caps and sent to Firmware using RSO command.
This RSN caps is used in FW in selecting a roam candidate, which
was causing the cross AKM (eg:SAE -> PSK) roam fail.
Hence, use the user configured MFP value in sending the RSN caps
to Firmware.
CRs-Fixed: 3604149
Change-Id: Ibf2d7bfba6cd17a98b9e4b1c8c468046ab2e7e62
Currently, in some API such as
"wlan_cfg80211_tdls_add_peer_mlo", when driver gets vdev, it is
MLO vdev, so it uses WLAN_MLO_MGR_ID ID, but when it tries to put
the vdev, since disconnection happens and mlo flag is cleared,
so it uses WLAN_OSIF_TDLS_ID ID which is non-ML vdev.
This causes release of vdev reference from different id for which
it never takes reference and result in crash.
To fix this, use same debug id throughout function. For that,
generalize the get_ml_vdev API by passing the debug id as
argument to the function.
Change-Id: I903185ec9b64cc67cc2e0c595ba88b7b0ca8ded2
CRs-Fixed: 3603012
If ML STA vdev is in inactive connection table, do not get
the vdev's channel for force SCC check.
Change-Id: I206aa33461f299847b247e97ea0453186c362795
CRs-Fixed: 3609017
Revise the csa parameter for both assoc and partner
links within the context of mlo link information.
Change-Id: I6352ae3343f2f3c4641565a6c2b9c36981bcb821
CRs-Fixed: 3599452
Implement handling of mlo sta standby csa event
and initiate the transmission of a link bss request
command tlv to the firmware for standby link.
Change-Id: I68b8260e716fc4e0fd0f991892f54d0547b6c831
CRs-Fixed: 3605777
Incorporate a validation step for mlo parameter
within the context of the csa event.
Change-Id: I813847fd0c3b460881fe3ab074663c2070d93c75
CRs-Fixed: 3599446
Currently, Host driver is not accounting STA info length within each STA
profile, and the STA control fields lacks the expected sub-element ID
and length structure.
This commit addresses these issues by correcting the STA info length and
adding two additional bytes for the STA control field.
Change-Id: I7e7b464e4f60349246b6e3b1d8a13843bff44142
CRs-Fixed: 3607158
AP context in adapter will have existing beacon data of SAP
which will be created on SAP start BSS. If userspace requests
channel switch before start BSS then trying to access beacon data
in hdd_softap_set_channel_change() API might result in NULL pointer
dereference.
Check if SAP BSS is started on that link info before processing the
channel switch request.
CRs-Fixed: 3612796
Change-Id: I2d6aefb78914450551f59ee445d76da3dda69a16