Currently, If CLI+CLI is present in 5G SCC or 5G MCC then
3rd connection should come in DBS. Hw mode change is required
to come up in DBS. As entries for CLI+CLI are missing in
policy_mgr_next_action_three_connection_table_type, by default
next action is updtaed as NO_OP and hw mode change fails due to which
connection fails.
Fix is to add CLI+CLI entries in
policy_mgr_next_action_three_connection_table_type to avoid connection
failure.
Change-Id: Ia935866506a62e54fb0e410df81a367e3e5b56b1
CRs-Fixed: 3052752
Currently support is not there for 3rd mode when CLI+CLI
connection is there on DUT.
Update PCL table for 3rd mode when CLI+CLI exsits and add
support to fetch index based on new connection band and
concurrency.
Change-Id: I6041c40b3208d0b33dff2b4f9dc854d2d2dc17a1
CRs-Fixed: 3050537
3 connection SCC/MCC on same mac is not prefer, if allow STA connect to
different channel of AP+AP SCC channel on same mac, there is no
implementation to restart SAP on new channels to avoid MCC.
Based on change Id2e9ad7d17bab6ea0aff6913b25f0eb330dc6c13,
fix is to change third connection dbs pcl table, only allow STA connect
on different band. For SBS capable chip, STA connect on same mac is
allowed, so don't change sbs pcl table.
Change-Id: I0229ae710b793e8ecd2240c37d7ca00d7694bb44
CRs-Fixed: 3039787
Currently in liberal mode STA+GO and CLI+GO scenario is not
handled, so when sta is there and Go tries to come up then
GO should follow STA or CLI's channel in case of force scc
but as handling is not there so Go doesn't consider scc
channel.
Fix is to add handling of STA+GO and CLI+GO for liberal mode.
Change-Id: I227fb0661c5c3a41b296fd0c954ac87675f28ed6
CRs-Fixed: 3048501
Fix logic for filling DBS/SBS freq range at the time
of init from mac phy capabilities.
Change-Id: I6e6bc2ea5fa2dd349337d663c813ff473ce787a4
CRs-Fixed: 3049819
Add condition in policy_mgr_dump_current_concurrency()
so as to dump SBS concurrency as well.
Change-Id: I64c7d5623df57e4c1812f21fac63ea55fbaee4c8
CRs-Fixed: 3048236
Use policy_mgr_are_sbs_chan() to check for valid 5/6 Ghz
SBS channel instead of WLAN_REG_IS_FREQUENCY_VALID_5G_SBS
which will only check for 5Ghz SBS channel
Change-Id: I1c2ee1dffac1f4a8619e02ebc342e27af61a63d2
CRs-Fixed: 3047071
Fix few missing attribute in below connectivity events:
QCA_WLAN_VENDOR_DIAG_EVENT_TYPE_EAP_RESPONSE
QCA_WLAN_VENDOR_DIAG_EVENT_TYPE_ROAM_SCORE_CURR_AP
Also send the roam candidate info properly to userspace.
Change-Id: Ia9c4f095316adf8f40294f1e119cad648749bb72
CRs-Fixed: 3037650
During wma_pdev_hw_mode_transition_evt_handler()
get the freq range from mac_freq_mapping[] present in
wmi_pdev_hw_mode_transition_event_fixed_param and pass
till policy_mgr_hw_mode_transition_cb() and update
cur_mac_freq_range[MAX_MAC] from it. if no freq range
provided (legacy chipsets) then use
freq_range_caps[MODE_HW_MAX][MAX_MAC] to fill the
range depending on the new HW mode.
Change-Id: I145d48052ce37724b0f697c19a1041f5a908cb54
CRs-Fixed: 3044976
With g_sta_sap_scc_on_lte_coex_chan=0, when SAP working on 6Ghz,
STA connects to another 6Ghz unsafe channel, move SAP to 2G safe
channel for DBS. Add unsafe channel check in
policy_mgr_check_6ghz_sap_conc for such condition and select
alternate 2G channel.
Change-Id: If9d7be045835b4faa36b5d123f820032dabc2b64
CRs-Fixed: 3039791
Fill the QCA_NL80211_VENDOR_SUBCMD_DIAG_DATA event data and
send the event to userspace.
Add dispatch table for the connectivity events to lookup
attribute type, id and length.
Change-Id: I1fc8467409852a430874ac1d926b06ec8dafb736
CRs-Fixed: 3030085
Fill the management frame data and enqueue the filled record to the logging
queue.
Frame sequence number, peer rssi, tx_status, authentiation algo,
authentication frame transaction sequence number will be filled to the
log record.
Change-Id: I069b7816fdc52eeed964d6586c52b58d1a5d5cd4
CRs-Fixed: 3030075
Currently, interface change request failure is indicated
whenever qdf_delayed_work_start returns false which may
indicate wrong failure reason as qdf_delayed_work_start
returns false in case any other request is already started.
Fix is to update failure log of qdf_delayed_work_start
to avoid any wrong indication.
Change-Id: Icf75ab5eff5b225bb7a2db1d8327bde6bb4fc9ac
CRs-Fixed: 3042780
When SAP starts on 5G, initialize SAP mandatory list with
2G and 5G mandatory list. And also select same band channel
SCC channel firstly in the intersection of PCL and mandatory
channel list.
Change-Id: Iac86b5caf38bf72f143be81122f8378fc61b29e2
CRs-Fixed: 3039268
When wifi is turned off, if the connectivity logging queue is
not empty, the wlan logging thread tries to dequeue the record
and send the logging event to the userspace. While performing
dequeue operation, the records from queue are copied to temporary
buffer before read pointer is incremented. There could be a
condition where this buffer is allocated in ini domain after stop
modules is done and freed in active domain if the wlan_logging
thread is preempted during stop modules.
So to avoid this domain mismatch, start the queue only if
start_modules is done and stop the queue after stop modules
to avoid dequeue being done during/after stop modules.
Change-Id: Ied8c36b19bc66474d3c4d8f913f3e3dbf9a574a0
CRs-Fixed: 3035644
Using the HW capability from extended regulatory
capabilities (reg_cap_ext), fill the SMM/DBS/SBS
frequency range in such a way that if the frequency
range these for a particular mode is not at all
present in these reg_cap_ext, then maximum possible
range is selected for that Hw mode.
For SBS mode:
Derive the channel such that 2Ghz is supported only by
Mac0, and if the frequency range of 5Ghz and 6Ghz are
intersecting then derive the the 5Ghz/6Ghz range/
For DBS mode:
Mac0 Supports all the 2Ghz range and Mac1 supports the
maximum range derived from the reg_cap_ext of both Mac.
For SMM mode:
Derive the Freuency range based on supported bands.
With these changes, pure mac freq ranges can be stored
and used easily.
Change-Id: Ied7f81654ef6d135e14b053db9516b4cb591eb76
CRs-Fixed: 3034653
Restrict the dequeue logic to send only 20 logs per second
to userspace. Add check to see if queue is empty before
trying to dequeue.
Change-Id: I778556c649d123718cf76c943c5b2ed7f6c6e8e5
CRs-Fixed: 3014554
Add new files for connect/roam logging. Add changes to
initialize the logging buffer.
Make changes to support enqueue/dequeue log.
Define enums for MAIN_TAG, Sub TAG, category.
Add structure definitions for logging buffer.
Change-Id: I1d283fcf464da90d4f5533214d480ddda156ec27
CRs-Fixed: 3013486
Add support to allow/disallow three port combinations on
same band based on PCL table
Change-Id: Id2e9ad7d17bab6ea0aff6913b25f0eb330dc6c13
CRs-Fixed: 3028527
INI g_enable_go_force_scc states the force MCC to SCC mode.
Mode 1-strict: Implement force scc strictly as part of start bss
Mode 2-liberal: Turn on p2p go on provided channel and move
first p2p go to the new p2p go channel after set key.
Currently for p2p-GO forceSCC, support is present where no matter
what is the GO negotiated channel in start_bss, driver will force
the other GO/STA/GC channel (on the same band) to the current GO
channel. This is force SCC strict mode where value 1 is used for
g_enable_go_force_scc ini. In this mode GC will have to do full
scan as the GO channel may be different from actual negotiated
channel. DUT may see some issues if GC dosent do full scan in
this mode.
As part of this change, add support for value 2(Liberal mode)
in g_enable_go_force_scc ini. As part of this liberal mode,
driver will allow the GO to start in MCC mode and after set key,
it will check any other concurrent GO and will do forceSCC for
that GO to the newly formed GO channel.
Change-Id: Ifc7beb06335616c51dc064f48a78b825dbdbda25
CRs-Fixed: 2992098
Check fw capability to support p2p + p2p concurrency from
soc_fw_ext_caps and based on fw capability, set policy
mgr concurrency for p2p + p2p.
Change-Id: Ia32f81f37174e9d722911b1fae6d4897d0af9816
CRs-Fixed: 2991300
From the caller, the args comes as pm_ctx but in definition
it's assigned as work_info which causes crash.
Change-Id: I9928a2c3862407b02cb34356ad54895e1d3069c7
CRs-Fixed: 3035090
If flag WMI_SERVICE_HW_MODE_POLICY_OFFLOAD_SUPPORT is
advertised in service capability, host should not set
HW mode explicitly, firmware takes control of managing
HW mode.
Change-Id: I10a8ad5201db375cc21255661b7cf46b9dd6e05f
CRs-Fixed: 3017062
Update unit test command for policy mgr pcl validation to
support new SBS PCL type.
Change-Id: Ib02ce6c69400d0f47307523d690e1d81a8c0ef83
CRs-Fixed: 2998526
To support DBS-SBS hw mode, populate SBS/SCC/MCC/DBS channel
list for new PCL types.
Change-Id: I5b6bae3daeae0be879d60dc5183574fe63f6a0c9
CRs-Fixed: 2998497
Whenever host Receives vendor command for SETROAMBAND, Host should
set PCL list as per roam band to fw so that FW can use updated pcl
list for further roaming.
Change-Id: I2f48833801b75f25aaf37ea479867b19477ceecb
CRs-Fixed: 3009751
Add sanity check for index with NUM_CHANNELS and pcl_sz
when add 2.4G channel list.
Change-Id: I04ac1bcdb6720a4740be7c2f5e08f76b3c34d8c4
CRs-Fixed: 3025000
Fixes in this change include:
- Add debug prints
- Don't disable roaming in case of MLO link connection
- Minor compilation fixes
Change-Id: I0aa9e8b2fd634b6dba1926796d95db997946aac3
CRs-fixed: 3013039
In LTE coex SAP restart scenario, currently SAP new channel is selected
base on 20M bandwidth, and channel bandwidth is determined after
channel frequency determined, if new channel bandwidth is greater than
20M, it is possible channel boundary fall in unsafe channel range,
because bonded channel is fixed with different bandwidth.
If select new primary channel with determined bandwidth, it would
violate MCC to SCC limitation if concurrency, to make it simple,
just shrink SAP bandwidth to 20M if check unsafe channel failed.
Change-Id: Id9bc5e6e807c0446138ca816bc3ada22443fe7a2
CRs-Fixed: 3005333
If STA is connected to one channel and p2p is up on same channel,
and sta moves to another channel then p2p go also tries to switch
to sta channel immediately in case g_enable_go_force_scc is enabled.
But Go can't send channel switch announcement as go sends 1.5 sec
of NOA during sta connection with new channel due to which p2p may
get disconnect.
Fix is to not try to move to sta channel immediately. P2P Go will
try to switch channel only after NOA completion which is 1.5 seconds.
Add delay work queue of 3 seconds to handle worst case scenario when
BT is on and P2P tries to switch channel.
Change-Id: I557940dfc79da4922694ed24a573e41aae75c09a
CRs-Fixed: 2989207
Add policy mgr connection list validation such as duplication
entry error. Flush the drv log and pause the logging
if error happens so that the issue log can't be overwritten
in stress test.
Change-Id: I037863de0bc5ecb8118c5792b6d73c3e200dd5c6
CRs-Fixed: 2991983
When all vdevs in same mode(like SAP here),
MAX_NUMBER_OF_CONC_CONNECTIONS vdevs deleted but failed
to be restored as count sanity.
Vdev count of MAX_NUMBER_OF_CONC_CONNECTIONS is also valid,
and should be restored.
Change-Id: I2ef6c9a5b1ef96098e14b6a57ad8006d806309b0
CRs-Fixed: 2988669
Handle A-EDCA based on STA-SAP concurrency. Also, update
RTS profile based on the concurrency such that:
1) For STA and SAP concurrency, send STA's AP EDCA
params to fw. Also, for SAP or P2P Go, update the
value in Broadcast EDCA params as well so that it
should be broadcasted to other stations connected
to that BSS. Also, update the RTS profile value to
0x11. It will let FW disable SIFS bursting and send
RTS for every frame.
2) For standalone STA (can even happen after SAP/P2P Go
disconnects), if the parameters are updated, reset
them to original parameters and send them to FW.
Also, update the RTS profile value to the value
it was set before.
3) For standalone SAP (can even happen after STA
disconnects), if the parameters are updated, reset
them to original parameters and send them to FW and
reset the Broadcast EDCA params as well so that it
should be broadcasted to other stations connected
to that BSS Also, update the RTS profile value to
which it was set before.
Change-Id: Idb2b04b1b0bddb51cea9c5665847d04817a90aca
CRs-Fixed: 2949484
According to new user request, add channel frequency 5745,
5765, 5785, 5805 to SAP mandatory channel list.
Change-Id: Icf1c96c07514f65a229e00d4330eaf0af5daa4ab
CRs-Fixed: 2987664
At present the pre CAC is done based on original SAP's BW,
but usually the original SAP is on 2G and BW <= 40Mhz. The
requirement from user is to have higher BW on 5G. Hence, select
higher BW supported by SAP phymode to do pre CAC and move 2G
SAP to 5G pre CAC channel when pre CAC done successfully.
Also set the default MAX bw pre CAC to 80Mhz based on current user
request.
Change-Id: I3115da8eb649238da50b223c2587db96125ec813
CRs-Fixed: 2984084
In case of STA + SAP concurrency and STA is on indoor channel.
Dont allow SAP to turn on, irrespective of DBS, MCC or SCC mode
of concurrency, if STA + SAP concurrency not allowed
on indoor channel.
Change-Id: I79582f88e81cb2c95d2da2480d1e3d7a8b86906f
CRs-Fixed: 2967952
Set PCL command should be sent to firmware only for STA mode.
For P2P vdev, except the connected band, the other band channels
are marked disallowed. With this, if the set PCL command is sent
then STA can't roam to the disallowed channels.
Hence don't send PCL command if the vdev opmode is not Station.
Change-Id: I6c4917f75d5f14169e2c564d5f6deee819fb629a
CRs-Fixed: 2939148