sme_session_params has duplicate information which can be retrived
from the vdev object directly, hence remove the duplicate values
and get information directly from the vdev.
Change-Id: I151dbefcfedc20673fbf072b9c308dc9a6243bb1
CRs-Fixed: 2555909
Modify the following API code and parameters to make
sure they're using frequency instead of channel ID:
csr_roam_chk_lnk_set_ctx_rsp
Change-Id: Ia96b78406fc09d0ee4383a446bdd5e09d8f7f12c
CRs-Fixed: 2559993
In DBS scenario(SAP + STA) when all SPA clients disconnect, while STA is
still connected, IPA pipes are disabled on the lithium target. At this
time, its possible that some packets TX from IPA over WLAN are still
pending. If these completions come after IPA pipes are disabled, it can
lead to a NOC error, since the GSI doorbell register for WBM2SW2 ring
may be clock gated (after IPA pipes are disabled).
To avoid this situation, wait for some time before disabling IPA pipes.
IPA pipes are disabled after a timeout, when system suspend call tries
to suspend the bus. A driver unload or a softap tear-down will also
disable the pipes.
Change-Id: I542049fa19d0dcf5c31d9b8a2d836388847dd6c1
CRs-Fixed: 2553670
Presently as part of the vdev creation the self peer for the vdev
is created in the object manager and in the firmware. The self
peer creation in the object manager needs the vdev to be in the
created state. As part of new changes to send the vdev create to
firmware as part of the vdev creation notification there will be
failure in creating in the self peer.
Hence, drive the self peer creation from the SME layer which will
create the vdev.
Change-Id: I0875f4ec5bd96438c0f21056e1d6920d3be2a177
CRs-Fixed: 2555868
The datapath vdev handle is not to be used outside
datapath layer. So the cdp api for getting txrx stats
will pass vdev_id instead of the vdev handle.
Pass vdev id instead of vdev handle for the cdp api
used to get txrx stats.
CRs-Fixed: 2560363
Change-Id: I761966c2a7c7145e511b679556477beea74eda06
Modify the following API code and parameters to make
sure they're using frequency instead of channel ID:
csr_is_valid_channel
Change-Id: Ie0c912459daf8bcd907b27a288ad82edd18c22f1
CRs-Fixed: 2554177
1. Add whunt_defconfig for whunt target. New Features can be
enabled in it to run related whunt test cases.
2. Enable CONFIG_BAND_6GHZ and CONFIG_WLAN_FEATURE_11AX
for whunt 6GHz test.
Change-Id: I63b84086cbf28e1fe3ab44bedb4977e73212af29
CRs-Fixed: 2550575
In the REO status callback function for RX tid delete if the
cache flush cmd is not sent successfully to REO, add the REO
descriptor back to the free desc list and defer the deletion
to the callback function.
Changes are made under MCL feature flag REO_DESC_DEFER_FREE.
Change-Id: Ib6c077ebf763ab8feb4c45c17ff37d03252fe093
CRs-Fixed: 2558052
The mechanism of overriding ARP frames with AC will not work since
firmware always defaults to BE. Since this overriding is not going to
be supported, remove the arp_ac_category INI and all areas that use it.
Change-Id: I8bff251ded5842f3d0c95bb916eb98a051696ae0
CRs-Fixed: 2555459
Modify the following API' code and parameters to make
sure it is using frequency instead of channel:
csr_add_to_occupied_channels
Change-Id: I002b4d4fe08ee14c8daa3ed113a030d5ab0f5557
CRs-Fixed: 2554988
1) Change hdd_parse_plm_cmd's code to populate frequency
list instead of channel ID list into struct
plm_req_params.
2) Use frequencies instead of channel IDs in the following
APIs' parameter/code:
sme_set_plm_request
csr_is_supported_channel
3) Stop populating channel freq list in function
wma_plm_start, as the frequency list will be included
in struct plm_req_params automatically.
Change-Id: I6704752317248ac4cfe800629d777f4a127e7be7
CRs-Fixed: 2560088
1) Change csr_get_cfg_valid_channels's code to make it
use channel frequencies directly to calculate a
valid channel list.
2) Add kernel-doc for csr_get_cfg_valid_channels.
3) Remove the definition, declaration and usage of
csr_get_cfg_valid_freq as csr_get_cfg_valid_channels
does exactly the same job.
Change-Id: I6745cb2220bf9387c64ac8c271297cb89f821ab3
CRs-Fixed: 2560091
In non concurrency scenario with TDLS Offchan link, FW is sending
two pauses namely PAUSE_TYPE_CHOP and PAUSE_TYPE_CHOP_TDLS_OFFCHAN
back to back when DUT dwells between TDLS Off channel and AP channel
respectively. HOST handles these events as vdev based event instead
of peer based event and remove all the tx queues from scheduler for
all the peer irrespective of the pause type. This will lead to data
stall in TDLS offchan scenarios, as at any point of time, host will
be receiving one of the two pauses and keep its peer queues out of
scheduler.
Changes are done to decouple the handling of pause/unpause events
for TDLS peers with Offchan enabled from vdev based pause/unpause.
TDLS peers will be paused/unpaused based on PAUSE_TYPE_CHOP_TDLS_OFFCHAN
pause type. Other pause/unpause events will be handled as usual.
Change-Id: Iccb46fd6d121d5df6d53633c9978ddc8e02f588f
CRs-Fixed: 2558612
On detecting RADAR, if SAP / GO is operating on DFS channel, host
driver updates Beacon / Probe response template with CSA / ECSA IE
to firmware.
Once the count in CSA IE is reached to 0, host should remove these
IEs from both Beacon / Probe response template and send it to FW.
But with INI gDisableDFSChSwitch=1, After detecting RADAR, host
driver updates the Beacon and Probe response template with (E)CSA
IEs but doesn't remove these after count reaches to 0.
Updated the code to remove these IEs when INI gDisableDFSChSwitch
is set.
Change-Id: I91ea557b23a9bbd01dbad32a21ea4a21d43dc8fe
CRs-Fixed: 2552192
Change the log level to debug for HE operation IE information and
check for 6G session to log 6G operation IE information.
Change-Id: I9bcad23022253438381a68fe37f68d525d265035
CRs-Fixed: 2552012
Modify the following API's code and parameters to make
sure it is using frequency instead of channel ID:
sme_get_connected_roaming_vdev_band
Change enum band_info band field in struct set_pcl_req
to uint32_t band_mask
Change-Id: I8ad6fc2676c2306043aa9415eefb2b89d8c49a4d
CRs-Fixed: 2555041
As FW required, send WMI_PDEV_DFS_PHYERR_OFFLOAD_DISABLE_CMDID when there
is no beaconing session in DFS channel for FW which supports dfs offload.
Change-Id: Ib3c24758b81d6218d2504729d44cdbfb122933ee
CRs-Fixed: 2544846
If the force peer is removed from wpa_cli, then without
checking the current link status link status is set to tearing.
Then if the same peer is again marked as forced then that peer
status is not reset to idle and that can lead to tdls connection
denial of that peer.
Reset the tdls link status to tearing only in connected state.
Change-Id: Idd4128b4599fc2dfbb768984f8f9390fc14ab5f6
CRs-Fixed: 2551180
Motion detection baselining can be started during Motion detection
phase which results in false motion detection
Do not send baselining start/stop during Motion detection phase,
to prevent false motion detection
CRs-Fixed: 2556575
Change-Id: I20de48b3d09cf8adec3a3a2d9585ad3754f12a9e
For helium/Hastings, two port STA+STA MCC is PORed
anyway, DBS is preferred for latency usecases.
Change-Id: I71b52974470a562372b5b1981fec1cde1ebdfcf8
CRs-Fixed: 2557583
While operating in SCC mode for AP+STA, STA receives CSA
and switches to a channel in the other band.
After channel switch trigger the NSS update for AP mode.
HW mode switch to DBS1/DBS2 gets triggered after nss update
completion.
POLICY_MGR_UPDATE_REASON_CHANNEL_SWITCH is set as the
reason for hw mode update. For NSS update AP vdev id
is used but for HW mode switch STA vdev id is getting used.
This leads to assert in vdev SM while handling the event
WLAN_VDEV_SM_EV_CSA_RESTART in vdev up state.
For NSS mode update followed by HW mode switch cases,
Policy manager need to use the same vdev id for both operations.
Change-Id: I986fa971c0c525ecada4805c70dd629ef8a1cac7
CRs-fixed: 2547119
In sch_set_fixed_beacon_fields driver check if the additional IE
length + tDot11fBeacon2 length is less than the max beacon size
before appending the additional IE. But total beacon size also include
tDot11fBeacon1 and TIM IE. Thus additional IE may lead to beacon len
greater than SIR_MAX_BEACON_SIZE.
So consider tDot11fBeacon1 and TIM IE length as well, while checking
if additional IE can be appended.
Change-Id: I2e659e4f9eab4b558ecdb3daa076a5cfb0f3d7f3
CRs-Fixed: 2558911
Remove wlan_reg_freq_to_chan() reference in
function lim_send_ht40_obss_scanind()
Change-Id: I776500a9f127b0837f9c1eef65b381cd89845622
CRs-Fixed: 2556403
Currently, RSO STOP is going through CSR to WMA via LIM but VDEV_SET_PARAM
is going directly CSR to WMA. This results VDEV_SET_PARAM got processed
first and host sends VDEV_SET_PARAM (disable roaming) before
11K_OFFLOAD_REPORT to fw. If FW try to disable roaming without disabling
11k offload, leads to assert in fw.
In order to avoid asset in fw, host should send RSO cmd command before
disabling roaming via VDEV_SET_PARAM cmd.
Fix is, like RSO STOP, send VDEV_SET_PARAM from CSR to WMA via LIM.
Change-Id: Idbb602b717f46f88426ef36a738efd456ac7af8b
CRs-Fixed: 2554449
Presently in the driver, we get the MSI interrupt to wake up from
suspend which directs the call to the both kernel and driver. In the
driver, the HIF callback target_initial_wakeup_cb registered, gets
called in interrupt context while that through the kernel get scheduled
in thread context. These two call can potentially get into a deadlock.
The scenario can be described as:
- MSI interrupt raised
- callback invoked from kernel -> takes spinlock on psoc->lock
- hif callback in interrupt context -> spins on the same psoc->lock
- deadlock
The problem arises due to the fact that both the kernel thread and the
interrupt handler are executing on the same CPU. This causes the
spinlock in the interrupt context to spin forever.
The solution to mitigate this scenario is to not take the reference
inside the hif callback pmo_core_psoc_handle_initial_wake_up. This
reference was put in place to prevent the wake up callback from getting
affected by psoc creation and deletion. But there seems no need for this
as creation and deletion of psoc happens outside the time-scope of the
wake up callback.
Change-Id: I566ab08802ba3f38e154d26599c73d718ec74bfb
CRs-Fixed: 2556497
Make tx resource hi/low threshold configurable through
config files and update hi threashold from 7.5% to 8%.
Change-Id: I2e52b7910caedf6e0af24242b79e1e9d42c6b85b
CRs-Fixed: 2548100
Do not start motion detection if baselining is not done, or motion
detection config values are not available
CRs-Fixed: 2547648
Change-Id: I23a02dbd21e2b673e625938a35003f3730135327
Modify the following API' code and parameters to make
sure it is using frequency instead of channel:
csr_neighbor_roam_handoff_req_hdlr
Change-Id: I0af2bc8b3d59a6ca1bff83eff05364f9ac5b10db
CRs-Fixed: 2554953