Update SME/CSR for using channel frequency in STA connection
params and handle 6G AP IEs for association.
Change-Id: I1725223b6763a729762b604c850c9b493f739ae6
CRs-fixed: 2552009
HE STA / AP operating in 6GHz should send HE 6GHz band capabilities
element. Update LIM layer for sending this IE in assoc, reassoc and
probe request / response frames.
Change-Id: Ie991ad3656e6b721e0ee0783b5974d438699091c
CRs-fixed: 2552009
Due to channel number ambiguity with 6ghz, update channel references
in HDD STA connection path to use channel frequency.
Change-Id: I81f3449c9087030e4d98c17a5b12c731f99b39ab
CRs-fixed: 2552009
Function csr_update_sae_config is inital connection, so it should
be out of WLAN_FEATURE_ROAM_OFFLOAD. While function
csr_process_roam_auth_sae_callback is roaming related change,
so it should be in WLAN_FEATURE_ROAM_OFFLOAD.
And do the static inline to the dummy functions to avoid the warning
which defined but not used.
Change-Id: Ib873050d2f5bdb960244d2f900e078f314962a8b
CRs-Fixed: 2552295
Fix compilation error in WLAN_FEATURE_HOST_ROAM after policy manager
public API update to use channel freq as function argument instead
of channel number.
Change-Id: I690f25a169f4438272d44bb7292558a0171d1ab8
CRs-fixed: 2551820
As a part of cdp convergence the pdev_id
is used to obtain the pdev handle on need
basis.
Instead of the pdev handle, use the pdev_id to
retrieve datapath pdev handle.
CRs-Fixed: 2539733
Change-Id: I887ea2f1a312207cbb642b33435f4e7111068c62
Add the soc context for ol_txrx.
This soc layer is used to hold ol pdev context.
CRs-Fixed: 2539731
Change-Id: I27a3f34a533034a4748674ce8b9212163b231b24
At the time of starting / stopping 2nd or 3rd connection,
Host sends WMI_PDEV_SET_HW_CMDID command to FW to change
HW mode to DBS / Single-Mac based on concurrency rule.
FW upon receiving this command turns off TXRX chainmask
which means that radar pulses might get missed for
20ms - 50ms during CAC period. To fix this, Host should
block new connection when existing SAP is performing CAC
on DFS channel.
Change-Id: I51eb117afa763a6ef54211808875419026c9075b
CRs-Fixed: 2533717
Fill the pfm info of the TDLS peer before sending the peer assoc
command to FW.
Change-Id: I4e336c345c0fb8f063157b3e3a780efa777f1a74
CRs-Fixed: 2535832
Currently logs for wifi_pos module are not enabled,
because of which it is difficult to debug the issues.
Enable the wifi_pos logs to address above issue.
Change-Id: I777076d5cd0251b7c714bf22fd885e0cabda6ea2
CRs-Fixed: 2547557
After STA channel switch, when SAP try to force scc with STA,
race condition issue happens sometimes between mc thread and sap
restart thread, hdd_ctx->roaming_in_progress isn't cleared when
check roaming status in hdd_softap_set_channel_change, so channel
switch failed.
Fix: change order, make sure hdd_set_roaming_in_progress(false)
happens before policy_mgr_check_concurrent_intf_and_restart_sap.
Change-Id: I1146eb665941fe0beb8f6165272f32ac8f7e74f2
CRs-Fixed: 2549571
In lim, gpLimMlmAuthReq is freed in lim_restore_auth_state if
auth failure timeout happens. gpLimMlmAuthReq is dereferenced in
lim_process_auth_retry_timer. When there is a race where
lim_restore_auth_state is called before lim_process_auth_retry_timer,
then null pointer dereference of gpLimMlmAuthReq happens in
lim_process_auth_retry_timer.
Validate gpLimMlmAuthReq against null before accessing it.
Change-Id: Ic1af10172aa98785c84165c4491c8bdc1b3e508f
CRs-Fixed: 2550793
wlan_reg_get_channel_state does not return CHANNEL_STATE_DFS for DFS
channel if this channel is in NOL. Use wlan_reg_chan_has_dfs_attribute
to fix this issue.
With above fix, new issue is exposed. hdd_ctx->sap_dfs_ref_cnt is used
as a flag, If hdd_hostapd_channel_allow_suspend is called after
hdd_hostapd_channel_prevent_suspend, whatever the new channel state is,
if the old channel is going to release dfs lock, then dfs lock is
released. Generally we should handle the old channel then handle the
new channel, so exchange the order of hdd_hostapd_channel_prevent_suspend
and hdd_hostapd_channel_allow_suspend when doing channel switch.
Change-Id: I9bbeeb5ac23f3c2eaf694f64e0fea433dcc34740
CRs-Fixed: 2543642
Current driver configuration is as follow:
1. SME active roam command queue timeout is 30 seconds
2. SAE auth timeout is 5 seconds
3. Max BSS count in roam command (CSR_MAX_BSSID_COUNT) for SAE
authentication is 8
As SAE auth timeout is 5 seconds and SME active command queue timeout
are 30 seconds, so only 6 SAE auth timeouts (30/5 = 6) are enough to
trigger SME active command queue timeout for roam command.
In case of continuous SAE auth time out, Driver will try SAE
connection till 8th candidate. So when driver tries to process SAE
connection for 7th BSSID, device leads to crash as by this time
SAE roam command(connect command) gets removed from SME active roam
command queue.
Fix is to reduce the candidate list to 5 in roam command for SAE
authentication considering SME roam command queue timeout is of 30
seconds.
Change-Id: Ic43f44ef14ea4c3b972635682941a624cdc6dcc7
CRs-Fixed: 2551462
WMA_SET_PER_ROAM_CONFIG_CMD is dependent on
FEATURE_WLAN_EXTSCAN macro. By default
FEATURE_WLAN_EXTSCAN is disabled and thus
WMA_SET_PER_ROAM_CONFIG_CMD is not handled
To avoid conditional Handling of WMA_SET_PER_ROAM_CONFIG_CMD,
Move WMA_SET_PER_ROAM_CONFIG_CMD out of flag
FEATURE_WLAN_EXTSCAN.
Change-Id: I4574efa2ccc968ead71a9c6d54845f7bd3057e56
CRs-Fixed: 2549779
If tx_desc is freed as part of ol_tx_download_done_base
then do not free again in ol_tx_download_done_hl_free.
Change-Id: I006603f0fad40c0cfce59b8c14b521705cec7ebc
CRs-Fixed: 2544447
Linux coding style doesn't allow camel case notations. So
rename assocReq to be in compliance.
Change-Id: I82e608da9548ac9413f9ecb025e5b662c9f555be
CRs-Fixed: 2480902
Dump the regulatory channel list with tx power
info. The channel list log can be processed by
script to do validation.
Change-Id: I7b3badd026556c1d805e6f3770fae33838f6ee6e
CRs-Fixed: 2548231
When an attempt of connection failed and followed by a disconnection
initiated from user space, randomly it would take more than 10 seconds
to complete the disconnection due to disconnect_comp_var is not
completed in some race condition and it has to wait till timeout.
To fix this race condition, in hdd_association_completion_handler, also
need to complete disconnect_comp_var for the case when hddDisconInProgress
is true and roam_status is eCSR_ROAM_ASSOCIATION_FAILURE or
eCSR_ROAM_CANCELLED, it will also cover the following scenario besides
the one mentioned above:
Connection is in progress. But the connect command is in pending queue
and is removed from pending queue as part of csr_roam_disconnect.
Change-Id: Ib6a30057469d60efcc905d97b5234ea5a0e097a8
CRs-Fixed: 2547320
Presently upon interface up a message is posted to the scheduler
to create the vdev, which sends the vdev create to the firmware,
for the vdev create there is no response from the firmware host
internally posts a fake message internally for the vdev create
response.
Dont post the vdev create to the scheduler thread but directly
send the vdev create to the firmware in the caller context.
Change-Id: Iafb186b13d948e421d152c3142cb8614fdbbffa6
CRs-Fixed: 2549530
With des_chan->ch_phymode already having the chanmode value,
remove chanmode from from struct wma_txrx_node to use common
des_chan->ch_phymode
Change-Id: Ib34a032b541367305a9fdba998ed6a00073ac9aa
CRs-Fixed: 2550440
When the ini gReportMaxLinkSpeed is set, it indicates that the rates
provided to the userspace should give the maximum possible rate for the
given connected parameters. But currently in the driver, the max rate
that is being sent to the userspace is dependent on the NSS at which
the tx/rx is being done. The NSS is calculated by taking the union of
the value from assoc req and from the rate table using MCS index/rates
from firmware. The rates fluctuate as per the tx/rx by firmware which
subsequently affects the NSS in the host.
To keep the max rate independent of this changing NSS, decouple the NSS
calculation to contain the value from only the assoc req when reporting
max rate.
Change-Id: I03d10e397fca6853d05b4812a2adeac0110bc517
CRs-Fixed: 2548498