Add new scan type SCAN_FOR_CONNECT to support connection manager
infrastructure.
CRs-Fixed: 2713772
Change-Id: I631f3f0324e82ef6cd8b2befbed020649c80bc4c
There are different version of SSID structure used in driver, replace
them with struct wlan_ssid.
Also move struct element_info from scan module to generic structures.
Change-Id: Ia32f82d943980c23b4ff478f5a06c5c053036de5
CRs-Fixed: 2721872
Add basic infra for connection mgr state machine
to handle connect and disconnect requests.
Change-Id: I671f62f66ab511912886c1da84c3a69be0032872
CRs-Fixed: 2707901
Add change to return the error value to the caller in case when
the VDEV start fails for STA VDEV.
Change-Id: I8585e1233609113158231ec7104cf5046af23cd5
CRs-Fixed: 2698826
Add change to define restart bitmap using the generalized bitmap
declaration. Also use generalized function to check if any of the
bits are set in the bitmap.
Change-Id: I06859fc089f121559231a7e13bcab63322e5ef9b
CRs-Fixed: 2690914
Add change to define restart bitmap using the generalized bitmap
declaration. Also use generalized function to check if any of the
bits are set in the bitmap.
Change-Id: Ibfc48ef10fe9afcaefa16ef429ef9903343afe24
CRs-Fixed: 2674483
Enhanced Multi-BSSID Advertisement is an enhancement to the
existing Multi-BSSID feature in terms of advertising
non-transmitted bssid profile using the transmitted bssid
beacon. Mandatory inclusion of RNR IE in lower-band AP
beacon to support Out-of-Band Advertisement of colocated
6Ghz AP may impose limitation in the beacon size. EMA AP
provides a standardized way of overcoming such a limitation
Relevant UMAC changes are:
1. Add fw_caps_ext support bit WLAN_SOC_CEXT_EMA_AP
2. Add vdev_control_flag WLAN_VDEV_MLME_FLAGS_EMA_MODE
3. Support of 32-bit ema_params in beacon_tmpl_params.
The 4 octets in this param field will respectively
indicate ema_beacon_profile_periodicity, ema_beacon_tmpl_idx,
ema_first_tmpl and ema_last_tmpl in the order of low to high
CRs-fixed: 2677701
Change-Id: I3d96fd3becd7609abb2529f977362bfa5401d600
Trigger Rolling CAC SM events from
- NOL expiry (EV_RCAC_START) to trigger RCAC START with a
new channel if possible and not already running.
- Agile radar (EV_ADFS_RADAR_FOUND) to restart RCAC with a
new random channel.
- vdev restart (EV_RCAC_STOP) to stop the running RCAC when
the primary channel changes. Start will be based on the
availability of the new channel.
In case of the rolling CAC feature, a channel is programmed to
the agile detector on which CAC is running continuously.
Introduce an API that finds an RCAC completed channel and return
the channel params which will be used for the next channel
change.
Also add a boolean argument in dfs_set_current_channel api to
indicate if the dfs current channel is updated in the API
"dfs_set_current_channel".
CRs-Fixed: 2674621
Change-Id: Ica54a57f131cd54e47138f1cbeef2dd0023390ed
Support synchronization of Tbtt in multi SoC case.
Add WMI to send vdev details of one soc to another.
Info includes beacon interval, bssid and tbtt calculated
in host wrt to other Soc.
Change-Id: I465140268b0fe5e0cb69f636ebeb08dc80667cf7
As a part of vdev responses from the FW, the driver fetches the
appropriate vdev_response_timer info using the vdev_id. This vdev_id is
taken from the response coming from FW. Currently, this vdev_id is not
being validated and is being used to access the array psoc_vdev_rt. This
can potentially lead to out of bounds access.
Add validation to the vdev_id before performing the fetch operation.
Change-Id: I6f25a14ccc3c8a96a1b6c863a760809c29de4003
CRs-Fixed: 2658462
Changes to support Beacon protection. Additional key ix 6 and 7
support BIGTK. Update beacon template for Beacon protection support.
CRs-Fixed: 2632290
Change-Id: Ic37d17f5076bb28d2e1f2430da039cc8b9f759b6
When staDFSEn option is enabled in the UCI, radar detection fails on a
STA VAP.
In the function vdev_mgr_start_param_update,since there is a condition
check for QDF_SAP_MODE and QDF_P2P_GO_MODE, the
tgt_dfs_set_current_channel_for_freq function does not get calledin case
of STA opmode.
As a result, DFS flag does not get set for the dfs->dfs_curchan,
and DFS_RADAR_EN flag does not get set for dfs->dfs_proc_phyerr.
Therefore, within the function dfs_process_phyerr, the function returns
without processing the radar pulses.
To fix this issue, add a new function
vdev_mgr_check_opmode_and_des_chan_freq under a macro
QCA_MCL_DFS_SUPPORT. If QCA_MCL_DFS_SUPPORT is defined, check the opmode
of the vdev, and frequency band of des_chan_freq. If QCA_MCL_DFS_SUPPORT
is not defined, return true.
Change-Id: I66fe3d4ccc0b75b70652b04f9bf93b199268f1fa
CRs-Fixed: 2640208
Add support for WMI event to host to process
dynamically selected Muedca values and update
the mgmt frames with the new set of values.
Extract the params and store in Muedca_param
struct from control path, to be used for
updating mgmt frames.
Change-Id: I6cc7756d1a246ff994edef195f6191d280bc5c47
Handle minidump logging using dynamic
configurablity options. Data structures
to be logged in minidump can be configured
using internal INI file.
Change-Id: I99f12b3f98c4a9c0e15c3e5d611019e6b8d0909a
Add change to increase vdev id bitmap size to the number of vdev ids
bitmap as sent by the FW to avoid memory overflow on host.
Change-Id: I92a2ae31cf0079c989b1788afc61e7f3153dc426
CRs-Fixed: 2626887
In the current implementaion, if multivdev restart req is not sent
due to error cases, then the multivdev restart timer gets restarted
after every timeout and the vdev sm is stuck in same state.
Add multivdev restart timeout wait counter and assert after the wait
timeout expires.
Change-Id: I12b10fb7d880e7fcf3dd02d1e38397aa2e3aebe7
CRs-Fixed: 2621231
Remove pdev, vdev and peer dp handles from umac objects,
and also remove corresponding APIs used to set and get
these handles
Change-Id: I1abc8ba91e9a697b85d1711a9a37ce675e1f6d3d
CRs-Fixed: 2602133
CSA channel switch call directly interacts with VDEV
state machine, move CSA restart to go through serialization
service.
CRs-Fixed: 2598123
Change-Id: Ic0bea64b56f54eed354e11d0873ae4423e365cca
SAP not advertising 20TU probe response when
FILS Discovery is disbaled through ini.
Updated WMI fields to enable 20TU probe response
when 6Ghz SAP is operating.
Change-Id: Idc4b95047d2149f68a68a434afda4d325a5d0547
CRs-Fixed: 2600485
6Ghz SAP needs to send either a probe response or fils
discovery at every 20ms.
Add a new feature to configure the probe response or
fils discovery frame.
Change-Id: I3b9842021db94515ae4dccbcdc573a4cd84caa56
CRs-Fixed: 2591147
Currently cdp ops are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.
Hence as a part of cdp convergence, pass only
the pdev_id or vdev_id or peer mac address,
which will be used to get the respective handles,
and hence avoiding the unwanted access of the
handles if it has been deleted.
- txrx_peer_unmap_sync_cb_set
- txrx_fw_stats_get
- txrx_get_ctrl_pdev_from_vdev
- txrx_get_mon_vdev_from_pdev
Change-Id: I4472dc0905edb7700acb4401b117c8876ba455f3
CRs-Fixed: 2541460
Add WMI and objmgr support for maintaining RNR
buffer cache and receive tbtt events for all
vdevs using existing tbtt offset WMI.
Change-Id: Idfed63e104e629fbe455d1cf6202cd9b332f5cf9
Add code to change the vdev_mlme timers to psoc_mlme timers
and also change code to send vdev_delete to FW while physical
destruction of vdev obj.
Change-Id: Ie041182155c75d0cc3825dc97b26abc6be38d76c
CRs-Fixed: 2563931
As part of the new changes, vdev mlme object will be freed before
the vdev delete response is received from the firmware. Hence do
not use the vdev_mlme object in the vdev delete response handler.
Change-Id: I6b2db32ac0ef415bf1b879b2cd222de67d9a69b7
CRs-Fixed: 2563404
Wakelock is system level lock not required to be taken
for every vdev, Hence move the wakelock to the psoc
hierarchy.
Change-Id: I525baf5f4b5dcadb493d84900dbd0a2e7c6407f6
CRs-Fixed: 2563406
Move the vdev response timer from the vdev object manager structure
to the psoc mlme structure.
Change-Id: Ieb87ac6549aa23e0beb61441fea459d3db78c2f3
CRs-Fixed: 2563410
To enhance visibility of 6GHz AP, 6G only AP shall send
Fils Discovery frame periodically in one beacon interval.
Change-Id: I51487380fca10418d2260dc2612e2adcf6cbb93b
CRs-Fixed: 2562434
If any of the driver unknown mode is passed to the utility api's
return the unknown vdev mlme type/subtype.
Change-Id: I8be1c9f31fb3a8a355185e14ef6869da84cf863f
CRs-Fixed: 2564964
Add WMI changes for the API he_muedca_mode
to swicth between manual, host and FW dynamic
muedca param selection.
Change-Id: If43b5da483fe082294bda33f8951187ebc7ea3c7
CRs-Fixed: 2554378
On detecting RADAR, if SAP / Auto GO is operating on DFS channel,
host driver updates Beacon / Probe response template with CSA /
ECSA IE to firmware.
Once the count in CSA IE is reached to 0, host should remove these
IEs from both Beacon / Probe response template and send it to FW.
But with INI gDisableDFSChSwitch=1 (test only), After detecting
RADAR, host driver updates the Beacon and Probe response template
with (E)CSA IEs but doesn't remove these after count reaches to 0.
Updated the code to remove these IEs when INI gDisableDFSChSwitch
is set.
Change-Id: Ie01c80a57191a78d71a8a27f1bead533388a4580
CRs-Fixed: 2555696
To avoid "channel number" collision that was introduced after
6Ghz band was added to the driver, frequency based DFS APIs are invoked
from vdev_mgr_start_param_update().
CRs-Fixed: 2532623
Change-Id: I35d262d10d00df124116a617de4575d00c35cffb
When the start continue callback fails due to any of the error
scenarios such as unable to find the channel, then the vdev SM
is stuck in the connection progress state leading to timeout
at the OSIF.
Graciously handle the start event failure by posting a connection
fail event back to vdev SM.
Change-Id: I0e4a3cf95529a09c88bc7fd4069aec99d4b9d78d
CRs-Fixed: 2552168
Presently PSOC object is initialized differently between
WIN/MCL. With this implementation the psoc creation and
destroy will be moved to common code.
Change-Id: I7aa8f47f3fe1d88c6c37ab3184a81fbc7dedb789
CRs-Fixed: 2547533
The macros attributing the Tx encap type have been erroneously
named as TX decap.
Rename all occurences of TX_DECAP_* to TX_ENCAP_*. Also add support
to send WMI vdev params for tx_encap and rx_decap values.
CRs-Fixed: 2533710
Change-Id: Id6ef2955868010b264e76d2a416d22d30d2acedc