Currently the sanity check present for the IE whitelisting bitmaps is
not proper. Instead of allowing the correct bitmaps to be used, it
prevents any of the bitmap to be used if a single one is zero.
Rectify the above check to allow the bitmaps to be used if atleast one
of them has a non zero value.
Change-Id: I496d6c6a1bda8c11d9bd42ea41a79ab04b539357
CRs-Fixed: 2647608
Currently the driver allows roaming to the BSSID
which it is already connected, which can lead to
many unexpected behaviour, for eg. if the SAP
to which the DUT is connected turns off, then the
DUT would try to roam to other BSSID of the same
SSID, and in case the SAP turns on back in time,
then the DUT would re-associate to the same BSSID.
Now if the subnet may change, and since the DHCP
does not happen again in roaming, it would then
lead to NUD failure.
Fix is to introduce an ini to allow/disallow
roaming to the same BSSID.
Change-Id: Ibd04fcd7384c0987db5bb6dae1a26ee077456290
CRs-Fixed: 2634860
Channel congestion score is not well bucketized, as we only have 0-25,
26-50, 51-75, 76-100, so small change will not give different score.
while channel congestion weight is high: 25.
Increase channel congestion slots num from 4 to 8 as following.
0-12% 13-25% 26-38% 39-50% 51-63% 64-75% 76-88% 87-100%
100% 90% 80% 70% 50% 25% 10% 5%
2500 2250 2000 1750 1250 625 250 125
Change-Id: I4fc2d8a5f0f64c5fce9fe5ec8f16c3e8e9665a60
CRs-Fixed: 2655110
If Miracast is on, driver should send WMI_RESMGR_SET_CHAN_TIME_QUOTA_CMDID
to FW. Currently this wmi is blocked because gEnableMCCAdaptiveScheduler is
set as 1, which is incorrect.
Add a new dynamic_mcc_adaptive_sched flag to allow wmi command
WMI_RESMGR_SET_CHAN_TIME_QUOTA_CMDID for Miracast case.
Change-Id: I18e713b75a8cafc1b631bf5a1884a9b0123e5dba
CRs-Fixed: 2652271
Currently there is no provision to configure OCL mode in FW during
driver bootup.
To enable this configuration add a new INI configuration parameter
gOclCfg.
Change-Id: I87c9131f5395c394f745e0170f0d9b3d1571d030
CRs-Fixed: 2644312
Currently the expectation from the BLM is to flush
all the BSSIDs which are present in the blacklist
when the user does an explicit on-off, which is
meeting the expectation, but the FW does not flush
this info which leads to async between the two.
Fix is to send 0 blacklist BSSID to FW during
Wifi-off so that it also flushes the list.
Change-Id: I7a0629fefb12deaeec0b5eeea06169272621bf82
CRs-Fixed: 2647018
In the API policy_mgr_checkn_update_hw_mode_single_mac_mode
the driver checks that if the bands are different, then go
for DBS and single mac mode is not required.
In the case of STA on 5ghz and SAP now coming up on 6ghz
the bands would be different but the hw mode needed
would be single MAC mode and not DBS, but according to the
check mentioned above the driver would still return and
the final hw mode would be stuck into DBS which would
lead to unnecessary power consumption because of the second
MAC being still swithched on having no vdev attached to it.
Fix is to check whether DBS is required and avoid the condition
mentioned above.
Change-Id: I91d91894dde1a3b84c22f9de59c83a5f0b727315
CRs-Fixed: 2651178
Table pm_next_action_three_connection_dbs_2x2_table currently
doesn't support NeGo/Auto 5G + SAP 5G + SAP 2.4G case, which
cause the third connection for 2.4G SAP start failure, so update
the policy manage table to support it.
Change-Id: I4bed516f2ac31387d94c1753a7d539cc07d9814e
Currently the bitmap of action frames that can wake up the host
is sent via the wmi command WMI_WOW_SET_ACTION_WAKE_UP_CMDID.
This bitmap doesn't include RVS action frames so currently the
host doesn't wake up for rvs action frames.
Enable wake up for rvs action frames during runtime.
Change-Id: I9fac8e74cdb7b529f858f7f2027906ca2b3083b3
CRs-Fixed: 2649927
When host driver sends NDP_END request to firmware, driver starts
a wait-for-complete and waits for the NDP_END confirm event.
It unblocks the wait upon getting successful NDP_END event from
firmware. But firmware sends response with a failure status if
the NDP is already gone and it doesn't send NDP_END event.
NDP_END requester waits till the timeout(2 seconds) happens for the
NDP_END confirm event from firmware in this case. Unblock the
wait-for-complete in this case also to avoid the unnecessary wait.
Change-Id: I779248455b07cd934ceaf2c23e79f3943aff5e41
CRs-Fixed: 2651663
Remove max_tx_power from wlan_mlme_power struct
and ini_tx_power from lim_max_tx_pwr_attr struct
and all their instances.
Change-Id: I982a15b71b64d368b623128e04f09a8f3bf4f5ec
CRs-Fixed: 2645922
The QDF framework for triggering self recovery is undergoing changes to
include support for multiple psoc driver. As the MCL host is still
multiple psoc agnostic, create dummy wrappers over the
cds_trigger_recovery so as to maintain compatibility with modified
qdf_trigger_self_recovery
Change-Id: I42163879c3e786a2b9ab2f9f5785be5531754e77
CRs-Fixed: 2617709
Currenly only hdd initializes channel avoidance from platform.
Policy manager should also initialize channel avoidance from platform.
Change-Id: Iefcaae5ff4789d7d334ab2cab693f5dedfd2ca46
CRs-Fixed: 2645512
Increase the roam failure reason string buffer size to
60 from 50.
Also add reason string for roam failure reason.
Change-Id: I42f4332463e4063aa0dee39631ca31965db12b62
CRs-Fixed: 2647260
Introduce an INI "ap_tx_pwr_scoring" to indicate firmware about ap tx
power weightage so that firmware can use ap tx power weightage to
calculate candidate AP's score.
Change-Id: I8831c571162f044f4ae204ef0edfc59942f36837
CRs-Fixed: 2647115
Make sure NULL pm_ctx pointer not be accessed before initialization.
Before initialization, __policy_mgr_check_sta_ap_concurrent_ch_intf
return directly when meet error condition.
Change-Id: I4a96ca7c18d7c524969b8ea95d3bc717cfb0862c
CRs-Fixed: 2642567
Add pointer str1 NULL check before use in mlme_acs_parse_weight_list()
in case user side has wrong configuration.
Change-Id: I7a1552e417a7571d138a2c1c526aa2f9d0015529
CRs-Fixed: 2642567
Make sure pointer wasn't dereferenced after being freed, so when
fwol_obj is freed, the function should return directly.
Change-Id: I69c23d2366b2ea0ff1caca9798bdc22063221a9c
CRs-Fixed: 2642567
If FEATURE_BLACKLIST_MGR is enabled,
wlan_blm_get_rssi_blacklist_threshold()
would return CFG_BLACKLIST_RSSI_THRESHOLD value
else return value 0.
Change-Id: I0cf5a6561cc217412e3bc6e2a50b85985d1315d7
CRs-Fixed: 2648761
Currently QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST aren't aligned with
NUM_CHANNELS, these unalignment may cause some potential OOB access.
So replace QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST with NUM_CHANNELS
to keep unified.
Change-Id: Ib6c81a3979f2fd29ba1ec678f018a6704b599385
CRs-Fixed: 2644066
Add host driver support for MCS 12/13, a Q-Q PHY feature.
The following changes are being introduced as a part of this
- Advertisement of the MCS 12/13 using the QCN IE
- Interaction between the Host and the FW regarding the target and
peer capabilities for the new features introduced.
- The new data structures and variables to populate and use the feature
capability
- Routines to add and parse the IE.
Change-Id: I2b91a271d30b1230ef7bb14ee08d0b9da2706db4
CRs-Fixed: 2610277
As each bit of INI "sta_disable_roam" represents an interface on which
if the connection is present, disable station roaming.
Hence to use all the bits of "sta_disable_roam" INI, change type to
UINT.
Change-Id: Ife4bb31acf89ddbe744bdad376a8a6f5a733b92c
CRs-Fixed: 2647036
In wlan_mlme_clear_sae_single_pmk_info, driver clears sae_single_pmk
locally while processing del/flush pmk command from supplicant.
Driver should clear entry for sae_single_pmk mlme priv objects.
Fix is to clear entry for sae_single_pmk in mlme priv objects.
Change-Id: Iee71a1a86e293a1028e9b4003d5a48c72d19a8f4
CRs-Fixed: 2636662
Consider SBS mode and 6GHZ, can't force scc only by band.
for example: 1 port on 5G, another on 6G, they may be on same
MAC, may be not. Just compare mac id from connection list
directly.
Change-Id: I5bfc9cd14b058a6a4f402c0e2d2f9ae7da8287fb
CRs-Fixed: 2646499
policy_mgr_pdev_set_hw_mode returns failure if there is interface doing
CAC, which causes other interfaces start failure.
Check mode action are needed or not can help reduce interface starting
failure.
Change-Id: I165f9287d0a674d907712817a7363a77504c245f
CRs-Fixed: 2625868
Few NAN/NDP logs are redundant in the current logging infra.
Optimize the same and add few necessary logs.
Change-Id: Ie261db317af48955a16269539948ff1596c4bbcb
CRs-Fixed: 2644418
The max ini params for mws_coex_pcc_channel_avoid_delay and
mws_coex_scc_channel_avoid_delay are set to be at 0xFF. This max value
doesnot correspond with the actual max value needed by the firmware.
Change the max value to include upto 0xFFFFFFFF
Change-Id: If88d7866c584abf43a41b0c6b9f63b21a0a4a2f2
CRs-Fixed: 2632517
When AP rejects assoc request based on poor rssi
host will put the AP in blacklist mgr list, only when
rssi value improves by threshold value,should the
STA try to connect to AP.
Change-Id: I78009b89ea07afdd5f3381973a9eb7ec1f73d1b5
CRs-Fixed: 2632015
If there is no STA/P2P CLI on same MAC of SAP/P2P GO,
SAP/P2P Go needn't switch channel to force scc.
Change-Id: I529a57f73f529e41b8c0097fccabbe3e0e516993
CRs-Fixed: 2643106
Use INI "sta_disable_roam" to disable roaming on STA interface if
connection on other interfaces ex. p2p, ndp comes up. Each bit of
the INI "sta_disable_roam" represents an interface.
ex. LFR3_STA_ROAM_DISABLE_BY_P2P BIT(0)
LFR3_STA_ROAM_DISABLE_BY_NAN BIT(1)
As INI "sta_disable_roam" is generic for all the interfaces, cleanup
for INI "p2p_disable_roam" done.
Change-Id: Icd05a97c640ca07978d9960a33de036ed6fe38df
CRs-Fixed: 2637555
This is part of adding channel frequency response(CFR) component. Add
CFG_CFR_ALL to CFG_ALL.
Change-Id: I83c9b05dad9ad31c4663269f3b03f83066e0cfc1
CRs-Fixed: 2637181
Currently MCS parameters are not getting correctly in
wiphy which results in incorrect capabilities for iw list
command output.
To resolve above issue, update MCS parameters correctly in
wiphy band capabilities.
CRs-Fixed: 2633314
Change-Id: I830ad50aa4842bd2a79c97ed7b11b82c35148ff0
Currently the roam failure reason string size is 40 bytes.
Change this to 50 bytes to avoid truncation in some failure
cases.
Change-Id: I6c90e31fc792078354e98c7a5c61ffd5583469c3
CRs-Fixed: 2637901
The default value of ini gDualMacFeatureDisable is 0 and this
enables DBS scan with simultaneous scan from upper layer to
firmware. P2P scans get priority over sta scans and when
continuoes p2p scans are issues from some userspace application,
STA doesn't get scan time and APs in the environment are not
seen the scan results on STA interface.
To avoid this, change the default value of the gDualMacFeatureDisable
to 6, which disables simultaneous scans from upper layer to the
firmware.
Change-Id: I7ea3ed521270fc50acba30f84749d35ee60fcaa0
CRs-Fixed: 2632562
Presently vdev delete is sent to firmware 1st and the object manager
vdev delete is deleted after all the references are released.
With this change the vdev delete is sent to firmware when all the
references are released and the vdev delete is sent to firmware via
the object manager vdev delete notification.
Change-Id: I67bea0d2b2a0d2d9eb4602e5d0b8bbdcafdd4d26
CRs-Fixed: 2618278
Race condition between ifconfig and ipa uc event handler thread.
While ifconfig thread creating vdev1, the vdev is locked, ipa uc
event handler thread tries to lock psoc, becomes failed for 1
dev locked, gets error EAGAIN but doesn't try again. IPA uc
event is abandoned without handling.
Fix:
IPA uc event handling can't be abandoned but can be blocked
since it is called in separated work thread, block DSC API
should be used here.
Blocked Operation and Transition have no much difference in DSC,
and they need block each other too, should share same
completion and queue, can share same API.
With WDI 3.0 over GSI, WDI control event is not needed. Therefore
provide a wrapper API for wlan_ipa_uc_send_wdi_control_msg().
Change-Id: Idceff767d62c1e81046a696cb58f70a897cbd074
CRs-Fixed: 2618490
Add new ini CFG_SET_SAP_XLNA_BYPASS under fw_offload to allow host
to pass config to FW. WMI_PDEV_PARAM_SET_SAP_XLNA_BYPASS makes the
SAP xLNA bypass configureable.
Change-Id: Ie501005f3035f14b3f23cdd260f401a6af81b798
CRs-fixed: 2632088
Disable GRO/LRO when NDP session is established and
enable it back after tear down of last NDP session.
Enable back GRO/LRO only if there is no active session
or there is no concurrency with STA MODE.
Change-Id: I322888fa18e8bef19844b626c94efac201550b0c
CRs-Fixed: 2631044
Bringup 3 ports GC(5G)+SAP(2.4G ACS mode)+SAP(2.4G ACS mode) in
sequence, the second SAP can't get pcl channel, it's wrong.
Fix is to add GC+SAP+SAP configuration items definition to
pm_third_connection_pcl_dbs_2x2_table and
pm_next_action_three_connection_dbs_2x2_table.
Change-Id: I943ed7cdff0bd0920953b60fcb2cfa1f5bf79dc2
CRs-Fixed: 2627832
The Qtime offset derived with a connected AP (master) are not
cleared on disconnect. This leads to storage of stale offset
values. So clear the stale Qtime offset values on disconnection.
Currently there is no information in ftm_time_sync sysfs entry
regarding which BSSID the Qtime offset values are derived.
Add the BSSID info in the sysfs entry.
Change-Id: Iac47bccffae005602469a658e5ca0bc9008ac4b4
CRs-Fixed: 2629822