1. Link switch request received on VDEV0 and host moved it as link VDEV to
process it.
a. Link switch is currently in connecting state on new link.+
2. There is SAP interface for which VDEV is created which was
ongoing interface down from framework.
a.As part of this, if any ongoing connection is in
progress on STA/P2P-CLI interface those will be terminated to
avoid timeout issues as connection might take more time if
trying multiple candidates due to failure and this can lead to
SAP stop timeout and peer leak.
3. Disconnect is issued as link switch VDEV is in connecting state.
a. Disconnect is serialized first on VDEV as VDEV0 is set as link VDEV) then later on
VDEV1
4. Link switch is completed, VDEV flags are restored and cmd is removed from serialization,
then VDEV0 disconnect (queued in 3.a) got active.
a.On disconnect complete on VDEV0 kernel is notified.
b.Framework initiated set mac address even before VDEV1 disconnect is completed.
c. FW asserted as VDEV1 is still in UP state.
Do not abort connection if that VDEV is in link switch progress.
CRs-Fixed: 3614424
Change-Id: Ia56c832706878c4df7261f8c59769ab783c12cfb
While unpacking the T2LM response frame after TX completion
response, the CCMP MIC Length (8) is not considered, if the
frame is protected. This causes invalid data to be read after
the unpack and wrong information is logged in the connectivity
logging event.
Increment the Fixed fields start offset by MIC length(8) before
unpacking the frame to destination structure.
Change-Id: I171ff9458e7e1aaf62d39f0685e5a2978788ec4c
CRs-Fixed: 3619761
If the monitor_mode_concurrency ini is set to 1 and SAP/P2P/NAN is trying
to come up when STA + connected monitor is running, then because of
this ini setting, SAP/P2P/NAN bring up is terminated.
Fix this issue by allowing the SAP/P2P/NAN to come up by terminating the
monitor interface if connected monitor is running.
Change-Id: Ic37d97522c1a1e72a8a1614d6eab2c411ab46f3e
CRs-Fixed: 3610132
The item "bss_max_idle_period" is not an ini item and we can only
use it's default value 0. It's not convenient to set it a value
that user required. So set it to an ini item.
Change-Id: Ie514992448cde192ffd6f1402a4477fabbbae741
CRs-Fixed: 3591728
Add support to allow PCIE Gen Speed and Lane width
to be configured by host via OEM data commands.
Change-Id: Ifc4c50bf339639c3f43de1107a8a76a043df8c4b
CRs-Fixed: 3615874
Currently if SAP channel switch fail, SAP will be stopped by function
wlansap_stop_bss(), but this function will not clear connection info
in policy manager, it lead to some concurrency check failure, and SAP
stopped event will not notify user space.
Add SAP channel change response status to SAP channel change response
event, and check if status fail schedule worker to stop SAP completely,
so that can notify policy manager and user space about this SAP stopped
event. And do not have to indicate new channel to kernel if channel
change failed. If CSA procedure interrupt by SAP stop, clear channel
switch in progress flag after SAP stopped.
Change-Id: I802404a4ed4948d072525d6e3676866c382eb442
CRs-Fixed: 3586579
Currently, even if dual sta roam support is not present, RSO
is being enabled for both the STA connections. This leads to
asserts in firmware.
To fix, do not initialize RSO state machine for the second STA
connection, if RSO is enabled for the first STA.
CRs-Fixed: 3612478
Change-Id: I9b7698770dd05139f6323846d78e931db58ce4a8
Add support to enable SR feature for 6750
target and return failure for SR commands if
SR feature is not enabled instead of returning
Success.
CRs-Fixed: 3619084
Change-Id: I5e19ffd758d0325e0fa26b61473b0192e110ce60
Current code does not have DP threshold configs
propagated to peach configs. Fix this by adding
those configs to pineapple peach defconfig file.
Change-Id: Ie48e051362bb46ce1d9c88b2de414cc85edf813a
CRs-Fixed: 3618684
Introduce support for MLO Reconfig event for connectivity
logging.
In MLO reconfig event, ban and link id are sent for
logging.
Change-Id: I2de6edff91ae344e2d9e11fb89216dab17384980
CRs-Fixed: 3606709
Introduce support to add frequency to peer in
order to enable Connectivity diag logging for
datapath related events
Change-Id: I634ddc0206530f1039a37fd60643877b2fdf7e87
CRs-Fixed: 3596250
Currently, when user connect STA with 2 link AP and sends
"MEASURE_ML_CHANNEL_CONDITION" command to driver, the driver report
error. This is due to driver tries to fetch the link info for
3 link but only 2 link info is available. Hence, it gets invalid
link id for third link.
To fix this, add check for number of links and extract the data for
available links only.
Change-Id: I5a25e0a4c8610703959390b62a530b784b5c766a
CRs-Fixed: 3616274
In the transition of set active and inactive link command,
the max number of disabled vdev number may be 2. To avoid
the overflow the pm_disabled_ml_links array, set array size
to WLAN_UMAC_MLO_MAX_VDEVS.
Change-Id: I71dd7c752062f4a2de67a89a5d655a2c2e6c9e9b
CRs-Fixed: 3618190
Use link address for MLO connection or netdev address
incase of non-MLO connection for VDEV while logging the
stats info.
CRs-Fixed: 3619020
Change-Id: I8807c34b9c79a8ebf4f4284ea38f25729bf24087
Once Host sends force link bitmap command to FW, subsequent
force link num command can’t take effect as force link bitmap
command has the highest priority.
Fix is to send no force cmd before setting hybrid mode in FW.
Change-Id: Iac3e1fe66c9b808b82f6b4feb66f90e169e4897b
CRs-Fixed: 3596656
Connecting event logs are to be sent after candidate
selection and not immediately after receiving
connect request.
Modify the connecting event logs to be sent after
sta info event logs.
Change-Id: I83b654ba0ef3458368ba7dd6353c5ab67077ec39
CRs-Fixed: 3599703
The config flag CONFIG_WLAN_TRACE_HIDE_MAC_ADDRESS is no longer used,
so remove it from config_to_feature.h file.
CRs-Fixed: 3617925
Change-Id: If275368573fbf50c8141b0dddfe80d502f1bb2e3
User space use enum nl80211_chan_width for the attribute value.
When set 320 MHz bandwidth, driver check the channel width range
failed.
Change-Id: Ia14427fc68ac8abdcedcb21748f5bce2e1ec7c33
CRs-Fixed: 3615838
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