Add support to configure the concurrent session policies
when multiple STA ifaces are getting active via the
CONCURRENT_DUAL_STA_POLICY vendor command.
Possible values associated with this vendor command are:
1. QCA_WLAN_CONCURRENT_STA_POLICY_PREFER_PRIMARY:
This indicates host to give preference to the Primary
STA interface while selecting the connection policies
(e.g., BSSID, Band, TX/RX chains, etc).
2. QCA_WLAN_CONCURRENT_STA_POLICY_UNBIASED:
This indicates connection policies for the subsequent STA
connection shall be chosen to balance with the existing
concurrent STA's performance.
Change-Id: I56994a182bb54adca57c3fc8fce9963b5db37b79
CRs-Fixed: 2915718
In case of TDLS peer connected if SSR happen, LIM try to flush
TDLS peer with del_sta->respReqd as false.
With respReqd false del_sta is freed in the switch case, but
is used outside the switch case, leading to use after free.
Fix is to use the local vdev_id instead of del_sta->smesessionId.
Change-Id: I7e08733cf42ef619b3fa0d6726ee1acc2012c6a4
CRs-Fixed: 2929448
If in SAP peer keep on connecting and disconnecting without
completing the EAPOL (e.g. due to wrong password), scan logic will
assume that EAPOL is in progress for long time and assert.
To fix this false alarm reset scan reject params on peer connect
and disconnect.
Change-Id: I067b5be39504651ffe4e29e1cc927ad0bc3a06c0
CRs-Fixed: 2928817
Tx MPDU aggregation is not happening in HE80 11ax connection
resulting in low throughput for HST.
Fix is to enable TX_AGGREGATION_SIZE_ENABLE for HST.
Change-Id: Ieca8464991a6a194d6f02b70fe4972aca288b541
CRs-Fixed: 2925514
Currently tcp advanced scaling reset get called each time
bandwidth timer is stopped even if it has not been enabled.
Reset advanced window scaling only when its enabled.
Change-Id: I0802ea1b848de4a906503e9eb83a41552209d941
CRs-Fixed: 2927161
Send correct channel frequency to sap_get_bonding_channels
to prevent ACS to fail for SAP.
Change-Id: I93ffd0e033cabb30d33d23ab26f656e0f0659d4f
CRs-Fixed: 2928495
Modify few ring and descriptor sizes for prealloc
to support the maximum values configured via ini.
Change-Id: Ifc2976c3f9ab271c7740d4a97470d455a8ee1ba7
CRs-Fixed: 2929143
Send QCA_WLAN_VENDOR_ATTR_TWT_STATS_STATUS attribute in
the driver TWT get stats NL response.
Change-Id: I7c447a8d2841f3bb0143f9ac6f957b1f78fa1e21
CRs-Fixed: 2923086
IPA_WDI3_TX_TWO_PIPES is added to enable two TX pipes
configuration for IPA WDI 3.0 interfaces.
Enable IPA_WDI3_TX_TWO_PIPES on sdxprairie platform.
Change-Id: I34fe0af56b169ebad9d7bb29b38838dd44503736
CRs-Fixed: 2750082
Currently single request context is used for NAN discovery and NDP.
If NAN disable request is sent to the FW and FW sends NDP end
indication and didn't send NAN disable indication. In this case,
wait event for NAN disable indication will be completed as part of
NDP end indication. This is because same request context is used for
both NAN discovery and NDP.
To resolve this, use separate request for NAN discovery and NDP.
Change-Id: Ic42e32c5cfd818188ca96d6cba3cbec1ed85a3ec
CRs-Fixed: 2921287
In the validate beacon interval logic, there are a few calls to get the
vdev MLME object from the interface manager component. However,
the component does not have a vdev object, so get it from the MLME
component instead.
Change-Id: I7333edeb6f1f0d5669605fe9e3d4fb10745d1fa4
CRs-fixed: 2928798
When the country code is updated, there is logic to check if a restart
of the adapter is needed. In this logic, there is a call to see if the
home channel is disabled. Sometimes, the home channel is 0 since it
has not been set yet, causing extra debug prints. To avoid this, ensure
the home channel is set before calling other APIs.
Change-Id: I58021f7f703761450c73a524c5acb51ddc7ad5ef
CRs-fixed: 2923754
Populate WLAN device memory related info along with other SOC info
in pld_get_soc_info() API.
Change-Id: I4b269e8d96d838b3ea7f998642cc8542cebb00d5
CRs-fixed: 2899892
Add logic similar to I5d8ec9e9d4f8a44178b113d370799fe2bc0373fb
in connection manager to flush PMID on HB failure.
Change-Id: Id87b5774a18a377719c56d3f34dc31284f0a39a3
CRs-Fixed: 2928282
In case of Non-DBS HW, don't allow channel to switch
to DFS channel or 160 Mhz BW in 5 Ghz, if STA is not
connected.
This is done because in Non-DBS HW, Monitoring mode
is disabled as sta_sap_scc_on_dfs_chnl is forced to
1.
Change-Id: Ie30a38a6c5155ca2b6f11f602fb51a43ca2e323e
CRs-Fixed: 2916799
If the wlan driver tries to register with platform driver before
cnss_probe then there is a potential race condition. To avoid this
issue add retries to the platform driver registration, so that the
wlan driver will wait and try register only after cnss_probe.
Change-Id: Ibc6b352c55d43753cf9db4a6a0eab8d08fdb9ec8
CRs-Fixed: 2926884
wlan_hdd_state_ctrl_param_create() creates a control file that is used
to synchronize the wlan driver with the Wi-Fi HAL in userspace. When
multiple instances of the driver are loaded in parallel, only one can
create and own the state ctrl param. The first instance of the driver
that is loaded creates the state ctrl param, and then it will wait for
a certain amount of time to be probed. If it is probed, then that
instance of the driver will stay loaded and no other instances of the
driver can load. But if it is not probed, then that instance of the
driver will destroy the state ctrl param and exit, and another
instance of the driver can then create the state ctrl param.
In the current code if a second instance of the driver tries to create
the state ctrl param while the first instance is still waiting for
the probe, then the second instance will fail and will exit. If the
first instance subsequently isn't probed and times out, then no driver
will be loaded.
To address this issue add retries to the state control file creation
so that the second instance will not exit after one failure, but
instead exits only after so much time has passed that the first
instance of the driver must have been probed.
Change-Id: I35cf04145d610613a51e5321603d48d988c16479
CRs-Fixed: 2905637
For PMF connection, when host gets assoc response fail with reason
"try again later" host runs PMF comeback timer to send assoc request
on pmf timer expiry. While PMF timer is running, if host gets
deauth/disassoc frame then host performs deauth/disassoc. As part
part of deauth/disassoc host changes lim mlm states to WT_DEL_BSS/
WT_DEL_STA and after moving vdev to down state host processes
DEL_BSS/DEL_STA response in LIM. At this stage expected lim mlm
state is WT_DEL_BSS/WT_DEL_STA but if the pmf timer expires the
pmf timer callback function changes lim mlm states to mlm states
stored in comeback timer info struct without checking present lim
mlm states.
Thus while processing DEL_BSS/DEL_STA response, host fails to get
PE session from vdev ID and lim mlm state WT_DEL_BSS/WT_DEL_STA.
And disconnect indication to sme fails. To fix this, host stops
pmf comeback timer while processing deauth/disassoc and change
lim mlm state after checking present lim mlm state.
Change-Id: If0094fcdb8254cb4271b5c46b4d42531dc9bc516
CRs-Fixed: 2925184
As part of regulatory cleanup, wlan_freq_to_chan() is removed.
Use wlan_reg_freq_to_chan() instead of wlan_freq_to_chan()
Change-Id: I18d7996a0b117de90cd32f2208702d01655ceeb9
CRs-Fixed: 2926114
Currently in the WoW design of Moselle, EXT GRP IRQs are
enabled before sending SMP2P power save exit message is
sent to the FW. Because of this, any pending IRQs in the
GIC will immediately fire and could race with the SMP2P
power save exit logic. Any access to the registers done
before power save exit would result in system errors.
Enable the EXT GRP IRQs after sending power save exit
command will fix the problem.
Change-Id: I16f580279b5aa24861ab5111b9c13db3e38063f4
CRs-Fixed: 2925554
With IPA TX two pipes support, TX rings for 2G and 5G traffic
are separated. As a result, WLAN needs to let IPA driver
know if the interface registered to IPA is 2G or 5G so that
IPA could differentiate and designate the interface for the
correct IPA TX pipe.
In this change, a new param is_2g_iface is added for the
event interface between protocol and IPA component. And
this new param is applicable only STA_CONNECT and
AP_CONNECT where wlan will register interface details
including is_2g_iface to IPA driver.
For two pipes implementation, is_2g_iface piggy-backs
session_id when passing it to CDP layer. And CDP layer
needs to decode session_id and is_2g_iface.
Change-Id: I5e02ec6969bb2f77d6b40e89d5a9451a7bb0be9d
CRs-Fixed: 2702704
psoc_cfg is pointing to the address of a structure variable,
which will never be NULL.
To address this remove the NULL check.
Change-Id: I12f539ce2feace550c403ffc996fa315994470a7
CRs-Fixed: 2911862
If ldpc bit is not set in case AP width more than
20 Mhz, it may cause crash.
So, force set LDPC coding in such cases.
Also, force set LDPC if peer supports MCS 10 and 11.
Change-Id: I14bb4b56d0efb660ad19587b319badfac9083f21
CRs-Fixed: 2915086
HST/Genoa/Rome support TX_AGGREGATION_SIZE, need enable it.
TX_AGGREGATION_SIZE is introduced in
change: I9e49ad5218f913f116cf4472f768f572740f14df .
Change-Id: I63fc729f3daf2b1757c5eb2fb839ed22ebce359a
CRs-Fixed: 2926281
CONFIG_CNSS_UTILS is controlled in the msm kernel config, while it is
not in the customer kernel.
Since it is a wlan feature, make CONFIG_CNSS_UTILS as wlan driver build
option, so that driver can enable this feature dynamically when building
wlan driver.
Change-Id: Ib8232a67da33e4613524c67cead5b90014fd371d
CRs-Fixed: 2922303
Currently latency detection timer timeout and threshold values are
used as 2 and 1.9 seconds respectively. After going through few
issues, 2seconds found to be too aggressive and hence increasing
these values to 4 and 3.9 seconds respectively.
Change-Id: Ie9314b517a7a8e47460effc86e5b3fb939dcbb33
CRs-Fixed: 2921474
In QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION cmd parameters,
If attribute QCA_WLAN_VENDOR_ATTR_CONFIG_RX_MPDU_AGGREGATION is missed,
should return 0 instead of failed.
Change-Id: I5e570b9237768800e06d839814919d058a5e1d1f
CRs-Fixed: 2926104