Currently, host driver expects NDP_END indication from firmware
within 2 seconds after sending request to firmware. Driver shall
timeout and cleanup the corresponding NDP entry if no response is
received within 2 seconds. But firmware may take upto 2.5 seconds
to exhaust the NDP_END frame retries.
So, increase the timeout to 4 seconds to accommodate these retries
and to be inline with current NAN_DISABLE timeout.
Change-Id: Ida1abc25b4ff64aea810c88dbf36f9577b23ffd8
CRs-Fixed: 3002176
In connected STA scenario, tcp_adv_win_scale is reset to 1
on runtime suspend. If any TCP connection gets initiated, the
SYN packet will cause a runtime resume. The bus bandwidth
work gets scheduled ~100msecs after resume is done. This
can result in a smaller TCP window value to get used for
the TCP connection initially and the window size does not
increase even with tcp_adv_win_scale updated to 2 as part
of bus bandwidth work.
Fix is to not reset the tcp_adv_win_scale config if any
adapter is connected on runtime suspend.
Change-Id: If10a1e1fd0efc8217f8136a60cfb01b03485a21d
CRs-Fixed: 2969041
Currently host is sending nl80211 band to get curr
chan list but enum values are different for 6G, so
reg_get_band_from_cur_chan_list may not consider 6G
band even userspace sends 6G band in vendor command.
Fix is to convert nl80211 band to reg band to get correct
usable channel list in case of 6G.
Change-Id: I51b86c5f4f83b764847756a20a911d9b8af75b56
CRs-Fixed: 2973283
Currently, host sends bw value to upper layer in response
of GET_USABLE_CHAN command. but upper layer requires bw
value in form of nl80211_chan_width enum and considering
bw value as invalid and resulting into 0 bw.
Fix is to convert bw value to nl80211_chan_width enum
and send to upper layer.
Change-Id: I6ae523c35561120c28b08f3aa9782bb749337c8c
CRs-Fixed: 2957062
In function __wlan_hdd_cfg80211_get_usable_channel use
dynamic memory allocation for get_usable_chan_res_params
structure to avoid increase of stack frame.
Change-Id: Ib3b5686a7af068fd1d0435bc24eda5d9e57bf1d7
CRs-Fixed: 2950726
Some AP has different HT ch width setting in beacon/assoc resp.
FW uses assoc response to decide the BW of HT AP in Roaming sync.
Fix by overwrite beacon HT BW setting from assoc resp frame to
keep sync with FW.
Change-Id: I784e4b1735f4f217713f65c30092bac2ad6cb698
CRs-Fixed: 2995520
Currently color bss is disabled if color bss is set before
channel change.
This change is to reinitialize color bss values to trigger
color bss detection in firmware.
Change-Id: If5688519e147b2b8a88b622090861ba4cac9067f
CRs-Fixed: 2992617
Update peer HE capability in TDLS hash node only when 11ax
is supported in seflDot11mode capability.
Change-Id: Ia6776224ee91a6da2f0ba299b0fe5d46e241c093
CRs-Fixed: 2935305
In sap standalone on 5G channel, when LTE unsafe event
shows the SAP working on unsafe channel, SAP moves to
2G channel because the current logic will select
safe channel from ACS list.
The preference is 5G safe channel if available.
This change will select safe channel in same band firstly
from the list.
Change-Id: Ibc45a05845692b0dd8a02fd98aef2f7b15d00729
CRs-Fixed: 2996401
With this change introduce featurization for dump in progress
and move implementation related to this feature to new files.
Change-Id: I4614aecde57a9c5ffec765f3afaa943c58956132
CRs-Fixed: 2979226
Change ini type of all ini related to edca_ani, edca_wme,
edca_etsi. Also, use cfg_get instead of cfg_default for
fetching these.
Change-Id: Iba252f81d236c5b217e1d86c6511bbc52c2900b7
CRs-Fixed: 2952537
Currently intermediate EP vote access is set without checking
for previous state and reg work handler completion.
In some of the error scenarios when resume is triggered from
suspend path, EP vote access is still enabled and work handler
will be scheduled for register updates.
So make sure reg work is completed before setting intermediate access.
Change-Id: I7a1e55c188b9a9e85309dd44ac03651181499674
CRs-Fixed: 2994039
With below INI configuration, SAP is not following the STA
channel. It's forming STA + SAP MCC instead of Forced SCC.
1. gWlanMccToSccSwitchMode = 4
(QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNE)
2. gEnableSAPManadatoryChanList=1
When channel switch mode is
QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNE and if STA
is on 5ghz and SAP also comes on 5ghz then driver considers
the HW mode as DBS capable and it allows SAP to form
MCC which is not favorable.
For non_DBS target, the fix is to allow SAP to
do force SCC if the channel switch mode is
MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNE.
Change-Id: I4b945dc1831909caff72f8398c959f4450765f2b
CRs-Fixed: 2972273
Enable config flag to skip MSI configuration for
monitor status and destination rings in MISSION
mode.
Change-Id: If295a5afc6731bbec1ad7182590e0015f3a911ba
CRs-Fixed: 2992169
Currently only default values of local edca params are used for
WME and ETSI profiles. Therefore expose them as INI config options
so that driver is able to parse user configured edca params used
locally by SAP.
Change-Id: I81759570160a67e26f68501576d71a5fd3568cd7
CRs-Fixed: 2976143
For STA+P2P concurrency case, once p2p disconnect, STA max tx power is
updated in F/W too per SAR by design, app can't correct it since reconfig
same max tx power as original is refused by driver.
Fix by not comparing cached max tx power for each vdev in driver when set
max tx power, can set same value as original again to F/W directly.
Change-Id: Ic417946006f07be40aa34f1dc022d7fb5c4aa213
CRs-Fixed: 2996316
Currently there is no synchronization for flush log completion
between fw and userspace. When host driver receives command to
flush logs, it sends the command to fw and releases the control
of the userspace thread, it does not wait for the flush log
completion event from the fw and because of which user space
does not know when the host and fw completes the log flush.
To address above issue add a logic to wait for fw event of
flush log completion before host returns control to userspace.
Change-Id: I04fa0aead146d2b7b8627e4101c6dcd99d3947e9
CRs-Fixed: 2983375
INI parameters are configured based on requirement. It is expected
that atleast one parameter should be configured through INI file.
To mandate this, trigger assert when failed to parse atleast one INI
parameter from INI file.
Change-Id: Ia94f9ae9ce91d7e57f7a6be6c6f955de5ba860a4
CRs-Fixed: 2881695
During FT-EAP roaming after session timeout if the FTIE received
in the EAPOL of full EAP is improper, the supplicant would
disconnect the AP with the reason FTIE mismatch.
During this disconnection supplicant flushes all the existing PMK
cache entries and eventually the framework would add these cache
entries again (apparently, the current entry would be with the
older PMK). On this addition to the driver, there is no connected
profile and thus no MDID is associated to this PMKSA entry(AP1-PMK1).
Further, on the fresh (Full EAP) connection to the AP2 with the
same MDID, a new cache entry gets added and thus MDID from the
connected profile gets associated with the PMKSA cache entry. At
this point of time, there are two PMKSA cache entries (AP1-PMK1
without MDID and AP2-PMK2 with MDID).
Adding further, if the incorrect PMK (without MDID / stale entry)
i.e. PMK1 is given to the firmware on the RSO command for the
specific BSSID (here AP1) during roam, further roams shall be
calculated with this PMK1 and result in to the invalid pmkid
issue.
Thus, avoid this situation by removing that stale PMKSA entry in
the driver and this entry can be deleted only when it is associated
with the MDID. Driver on the new pmksa addition shall check for the
matching pmksa cache entry with the MDID and delete the earlier ones.
To associate the MDID, this commit checks for the same from the scan
entry of the BSSID, if there is no connected profile for the same
(this happened when the framework has added the cache entry when in
the disconnected state).
Change-Id: If81d66059173dda8d7a2940ca10dc96ef16e125c
CRs-Fixed: 2972115
In wlan_hdd_get_wiphy_channel(), Donot access
60 Ghz which are not part of wiphy.
Change-Id: Ie8249bdcc7c4fb66744a9b16f2c194e9ab60dd1b
CRs-Fixed: 2984046
Enable SAE Roaming with same PMK feature INI
sae_single_pmk_feature_enabled by default.
Change-Id: I5be1b24fd77f5296574276af02b0098ac86d9730
CRs-Fixed: 2985116
Send error to userspace if ack status is not successful due to
firmware internal error
Change-Id: Id3fbbc2099fbdf597e4aebf6b532086c47a07943
CRs-Fixed: 2991060
In case if TWT command (i.e setup, terminate, pause, resume,
nudge) comes from userspace and if the firmware is in below mode
1. scan in progress
2. roam in progress
3. CSA is in progress
4. any other error
then the command needs to be rejected in userspace context
Synchronize the TWT commands so that whenever command goes from
driver to firmware, then driver will receive ack event first
followed by respective event (i.e add dialog, delete dialog,
pause, resume, nudge) with below condition
1. If driver receives the ack event as successful then driver
waits for this ack event, respective event with status of the
TWT action frame over the air is expected.
2. If driver receives the ack event as failure then it will
reject the TWT command request in userspace context.
Change-Id: Ib68b89b74b5e44f28106884efd7412cee49f5bd8
CRs-Fixed: 2987978