In a connect request if there are multiple BSSID, opportunistic
timer is started for each failed BSSID. If connection to a BSSID
takes more than opportunistic time, driver may end up starting
opportunistic timer and queueing SMM request multiple times.
To avoid this unnecessary multiple start of opportunistic timer,
start it only once after final connect failure.
Change-Id: I351cb631fe832239e5f5539f00c306f90192880b
CRs-Fixed: 2543631
PTK and GTK are installed to firmware and installation status
of each key is maintained in driver. Data transmission is allowed
only if both the keys are installed.
Currently these flags are getting cleared after installing both
ptk and gtk to firmware.
But if one key is installed and the other key is not installed
due to some reason(e.g. connection abort), corresponding status
is not cleared and being referred in the next connection attempt.
This is causing the data transmission to happen from driver to
firmware after installing GTK before installing PTK, as the
ptk_installed from previous connection is still set. This is
not allowed by firmware and issues an assertion.
PTK and GTK are invalid once the station disconnects. So reset
the flags as part of connection info cleanup.
Reset the flags before issuing connection also to avoid usage
of previous connect status or garbage values.
Change-Id: I8fa7bd0a15eab2fed80f050e77df3554d0f1b73a
CRs-Fixed: 2542785
Few phymode are missing from enum wlan_phymode and many are not
valid phymode, e.g for 5ghz 40minus and 40plus are not valid.
So add the missing enums and remove invalid enums from enum
wlan_phymode.
Change-Id: I56710c6a04ac365a54e2c4ba138e0e887fbdd960
CRs-Fixed: 2531859
In SAP mode, if he is enabled, the BA buffer size will be
set to 256 in addba response, some STAs can not handle it
properly, which may result in data transmition failure on
these STAs. Then they can not send out DHCP request and so
failed to obtain IP address.
To fix this issue, check the he capability of both STA and
the session, set the buffer size to 256 only when both are
he capable.
Change-Id: If55619d598bb9603cf7ce3bc116d80cf718676d6
CRs-Fixed: 2515183
Consider STA+STA case where roaming is enabled on one sta.
There is a case where STA1 is roaming to a bssid and there is a
connect request for same bssid on STA2. Here the firwmare would
have already created peer for STA1 peer and STA2 peer creation
would have failed. But at host, since there is no response for
peer creation, the peer would be created for STA2 vdev.
When roam synch indication is received, then peer create fails
at host for the roaming vdev due to duplicate peer detection
logic. Still roam synch confirm is sent to the firmware.
When disconnection is received for STA1, then del bss is sent
for this vdev and firmware asserts as the peer was not created
for this STA2 vdev.
Defer the connect request processing and return failure when
roaming is in progress.
Change-Id: I0892dc567cd17e335b1de3cd5260050f2c1e6b44
CRs-Fixed: 2538389
The vdev subtype is needed to know if the operating
mode of a particular vdev is P2P or not.
Hence add the vdev subtype information in the
vdev handle.
CRs-Fixed: 2498715
Change-Id: Ia9b86bad389825474a0506804e07b7af555d36cb
In case wmi_service_peer_assoc_conf is not enabled the add bss resp
return failure and thus the STA connection fails.
To fix this send proper status to add bss resp in case
wmi_service_peer_assoc_conf is not enabled.
Change-Id: I0aa1de8cfb739e31fc89265766f67fea070d3b17
CRs-Fixed: 2538753
When NAPI is disabled, there are some failures show that certain APIs
are not defined, these APIs are not NAPI related and defined in
hif_exec.c. But this file will not be compiled when CONFIG_WLAN_NAPI
is not defined. Remove this build constraint and encap the NAPI related
APIs with CONFIG_WLAN_NAPI in file hif_exec.c. Meanwhile add the HIF_CE_DIR
for USB and SDIO case, otherwise it has build error after hif_exe.c move to
the common directory.
Change-Id: Ie1a32f6abbe2d361e126c361a2522ae0500139e9
CRs-Fixed: 2532586
Change the very high bandwidth threshold to 9000 packets. Thus if the
packet length is 1500 bytes and for 100ms bandwidth interval this is
about 1030Mbps. This makes the high bandwidth range 240Mbps - 1030Mbps.
Change-Id: Ia9d5f9e3547148c5dc378a728514c4020649944e
CRs-Fixed: 2527623
Add macro PKTLOG_TYPE_RX_STATBUF to indicate
the full rx pktlog messages received from rxdma
monitor status ring.
Change-Id: Ib7b4b3a983a52a685949a23a3500e2ab110d713d
CRs-Fixed: 2529514
Do not enable power save if the user configures the power save to
be disabled. And set the user power save configuration enabled
by default.
Change-Id: I7be3263888ddbe8302d941444b9751df73a4b165
CRs-Fixed: 2533757
Disable the current TWT session and re-enable the TWT if the
current session in FW trigger mode before changing the TWT mode
to host trigger mode.
Change-Id: I7de2126605685c85a240d38356d439cb4be8cce1
CRs-Fixed: 2539353
Currently during sap virtual interface delete, if FW is down then
sap stop bss fails. If sap stop bss fails there won’t be any IPA
WLAN events and ipa ctx will have the IPA interface. But adapter
and corresponding netdev are freed up for delete virtual interace.
As part of FW down system recovery takes place. So while doing ipa
SSR cleanup, ipa ctx ipa interfaces are freed and here during interface
cleanup host accesses the already freed net dev address. So clean up
wlan ipa sap interface in case of stop bss failure.
Change-Id: Ie1ce376e6811eb3cd55dd8dc7b921f82451cd892
CRs-Fixed: 2539863
6GHz channels that are PSC(preferred scanning channels) need to be
marked. Same information needs to be conveyed to firmware as well.
Change-Id: Ib4a59ae7859896704a06f6622f8f742e060b6ca1
CRs-Fixed: 2526783
Enable pktlog when bandwidth is
less than PLD_BUS_WIDTH_MEDIUM and
disable pktlog when bandwidth is
greater than PLD_BUS_WIDTH_HIGH.
Change-Id: I9ee979b08779397bc6d24aca8e241fd64eb93029
CRs-Fixed: 2525901
System suspend can happen very fast(in order of milliseconds) and if system
suspend is disabled by setting gDisableWow=1 in cfg ini file then excessive
console logging from wifi driver can lead to watchdog bark and hence rate
limit the system suspend not supported console logging.
Change-Id: I16a4a7a3d0b64fc404d881469dadb4cab38ef149
CRs-Fixed: 2540524
HDD runtime pm context is only created when fw wmi ready event is received.
Only deinit when fw wmi ready event is received.
Change-Id: I4dda8a95d8a8089693dcbc4dccefbd2079f558f1
CRs-Fixed: 2540580
Enable direct buffer rx component in Kbuild since spectral scan gen3
based on this feature.
Change-Id: I8d44b35ca0d334917b3c052cc8ab4e47db34e4a1
CRs-Fixed: 2505676
During runtime suspend there is no need to run the periodic bus
bandwidth timer as there is no data traffic.
Change-Id: I7b53b773e5f9fa2c803e8f4dbb186a30d1dc696b
CRs-Fixed: 2504215
Identify TCP vs UDP Tx traffic to vote differently for system resource.
Accordingly vote for gold cores only for UDP Tx high TPUT traffic.
Change-Id: I27190b92b1be6ebe1574a9941a5de8c43bb59a0b
CRs-Fixed: 2499147
If 6 GHZ channel are enabled; then frequency range needs to be different.
Add new frequency limit if 6 GHz channels are enabled.
Change-Id: Ic8133468d3d6c6c7f7da2e6efb8662d930f69872
CRs-Fixed: 2520198