In SSR, after reinit, there is still memory leak
for gp_sap_ctx; As in multi SSR test, memory leak
detection is disabled in recovery mode, it is a
little late to get the issue moment.
Check gp_sap_ctx after stopping all adapter in
hdd_is_interface_down_during_ssr.
Change-Id: I77708d296fb218ca53ac656f844d02f58e23d241
CRs-Fixed: 2377718
Change I83a704d3f03e9cb9e6a7420f32d609a323799a12 ("qcacld-3.0: Remove
legacy P2P codes in SAP") removed the usage of the sap_roc_ind field
in tSap_Event. Since it is obsolete, remove the field along with the
underlying struct sap_roc_ready_ind_s.
Change-Id: I6101ec7874825b8e4e2e891c3f8ae084486eef87
CRs-Fixed: 2378326
sapDfsChannelNolList and numCurrentRegDomainDfsChannels
fields in sap dfs info is not populated and is used in
csr_is_valid_channel.
Fix is to remove the redundant logic in csr_is_valid_channel.
Change-Id: Ib98423ba910a1947a908f4a74762f82183aa89d5
CRs-Fixed: 2374080
Change "I9d05cd7b8e051c4e9e4912cf866206ae32ec293d" ("qcacld-3.0:
Define data structures for new AP requirements") added the
vendor_ie_access_policy field to struct sap_config, but subsequently
no code was added which actually utilizes this field. Since it is
unused, remove it, along with the underlying enumeration.
Change-Id: I7a3661a50ef17b0452e87e0ed86c3826b3bd199d
CRs-Fixed: 2375528
Change I9d83f66bce4ec66bc131747254a45d8b6afb5cbb ("qcacld-3.0:
Remove eSAP_GET_WPSPBC_SESSION_EVENT") removed the references
to the sapGetWPSPBCSessionEvent field in typedef tSap_Event.
Since this field is obsolete, remove it, along with the underlying
tSap_GetWPSPBCSessionEvent typedef which is also now obsolete.
Change-Id: I20dbc1635430f8148f997aeb15df4ddb7e06ceef
CRs-Fixed: 2375527
The ap_table_max_size and ap_table_expiration_time fields in struct
sap_config are unused, so remove them.
Change-Id: I24aabe78b0da45c3dde19b444f94222eb874477d
CRs-Fixed: 2374831
The typedef tSap_StationAssocReassocCompleteEvent contains the
following fields that are not being used, so remove them:
- SapAuthType
- beaconLength
- beaconPtr
- assocReqLength
- assocReqPtr
- assocRespLength
- assocRespPtr
Change-Id: I1de03b76b0070ee0b19d3d4672ed75614c013ac7
CRs-Fixed: 2364104
Previously change I7f39ed0680919c6a383d9b8bae5864f979b6948c
("qcacld-3.0: Refactor more dfs cfg items") removed support for
gDisableDfsJapanW53. However some remants of that support were left
behind, so remove them.
Change-Id: Ic0ec3411621c87a66a2d2055ceeebc2ed027aa39
CRs-Fixed: 2364103
The only use of typedef tSap_DfsNolInfo is to define the unused
sapDfsNolInfo field in typedef tSap_Event. Since they serve no purpose
remove both the sapDfsNolInfo field and the tSap_DfsNolInfo typedef.
Change-Id: Ic63288c0ea59b4f26a20d65a3e41503e49efedbd
CRs-Fixed: 2364102
The typedef tSap_StationAssocIndication contains an assoId field that
isn't used, so remove it.
Change-Id: I2a4ba9bd7220cb0cebe891d7085d92e17361ed06
CRs-Fixed: 2364101
The sessionID field in tSapCtxList is written but never read, hence it
serves no purpose, so remove it.
Change-Id: I0c7a134dba75be905f85016a3db026132bbfa348
CRs-Fixed: 2364099
In the case of SAP restart due to a RADAR, or force SCC
due to STA vdev formed, in the SAP restart path
the driver updates the SAP channel in the global
AP context, and then sends the command to change the channel
to south bound layers to process, which may reject or accept
the command.
If the command has been accepted, the channel in the
global config would be the same as the channel configured
in the restart path, but for a case where the command was rejected
by the south bound, due to a concurrency check, or other reasons
the SAP remains on the previous channel in SCC, or MCC, with the
STA interface, but the channel in the global config is same as that
given in the restart path, so the real operating channel, and the
config channel are different.
Because of this if a fresh bringup of some vdev is to be done
according to the channel of the SAP, that would fail in some cases
( SAP on DFS channel, and STA coming, so the driver would reject MCC,
and SCC) which could be avoided if the channel of the SAP wouldnt be
configured in the restart path, and would be configured in the callback
of SAP.
Also the secondary channel of the SAP was configured as the secondary
channel configured at time of fresh SAP bringup, hence the sec channel
isn't updated after every restart of SAP.
Fix is to configure the channel of in the global AP context
only when the SAP START or CHANNEL CHANGE event comes for
the SAP. Also update the secondary channel after the CSA.
Change-Id: I6cbc31cae4958c0d7da79d4640e5ad8b1ce98338
CRs-Fixed: 2355420
The following wlansap management frame registration functions are
unused, so remove them:
- wlansap_register_mgmt_frame()
- wlansap_de_register_mgmt_frame()
Change-Id: Ib8865fbda4e65e7bbd39576a49423f60426d489a
CRs-Fixed: 2361909
Recently all instances of tHalHandle were replaced with mac_handle_t
to align with current usage and the Linux coding standard. To align
with the new naming now replace all instances of hal with mac_handle
in sap_module.
Change-Id: I8631e7b3cc4bdca564846bb2dee50e6c993087ef
CRs-Fixed: 2351898
Recently all instances of tHalHandle were replaced with mac_handle_t
to align with current usage and the Linux coding standard. To align
with the new naming now replace all instances of hHal with mac_handle
in sap_module.
Change-Id: I5422b4a7e1a464a8f870cea33069c47401c73bac
CRs-Fixed: 2349566
I9d0d7d109621237f29d66f7b06c5b63c38f63fb2 (qcacld-3.0: Introduce
mac_handle_t) introduced a "better" name for tHalHandle, so replace
tHalHandle with mac_handle_t in sap_api_link_cntl.
Change-Id: I2d54133a841112486ecfd7a7971a1fcefa471cfc
CRs-Fixed: 2348553
I9d0d7d109621237f29d66f7b06c5b63c38f63fb2 (qcacld-3.0: Introduce
mac_handle_t) introduced a "better" name for tHalHandle, so replace
tHalHandle with mac_handle_t in sap_module.
Change-Id: Ib3dbaf58c4dd4408a09a099b233f94331f46075f
CRs-Fixed: 2348555
Function wlan_sap_set_pre_cac_status() currently takes as one
parameter a tHalHandle handle. This handle is converted into a MAC
context pointer. That MAC context pointer is then tested for NULL but
is otherwise unused. Since the MAC context, and hence the handle, are
unnecessary, remove them.
This is part of an ongoing campaign to remove or replace all instances
of tHalHandle.
Change-Id: I1c280be8c7c65a28267a9ab38d76fb8aa94e48af
CRs-Fixed: 2347653
Change "qcacld-3.0: Introduce sap_get_mac_context()" introduced a new
API for retrieving the MAC context. Update sap_module to use this API.
Change-Id: I906a57557d38b139728c7f2332e9580abf947d47
CRs-Fixed: 2346184
During SSR the sap context is reinitialized and it request for
scan request id again deleting the older request id from scan module
this can lead to situation where the scan requestor list is filled by
SAP request id's and thus next request for request id will return 0.
Now during de init when it try to delete the requestor id 0 it delete
the 0th entry which is for CFG. Now if again SAP register the request
id it will get the 0th index which was freed and thus when CFG
requests a scan the sap callback is called instead of CFG leading to
NULL pointer access.
Fix this by not registering for request id again after SSR for SAP.
Change-Id: Ibc8ad0700b602a9c3d2769d979303499df8d6605
CRs-Fixed: 2341133
CSA req changes the SAP FSM state to STOPPING.
Remove this state manipulation by CSA.
Change-Id: I76e78824cdc7acad87e60310d53225596630ea94
CRs-Fixed: 2309229
If STA interface is added after softap is started on DFS channel,
then SAP is stopped and re-started on non-dfs channel which is selected
using driver internal acs. But, internal acs is now obsolete. Therefore,
select non-dfs channel from preffered channel list and use SAP CSA
instead of restart.
Change-Id: I95e50c3ffbce35cf30cc9a06f0f14c9e60eb3e3f
CRs-Fixed: 2301895
Add support for SRD channels in ETSI regulatory domain
1) Add SRD channels only if DSRC feature is disabled.
2) Add user configuration to enable/disable these channels
in master mode PCL/ACS. Default is disabled.
3) Allow these channels in ACS/PCL only if the INI is set.
Change-Id: Ibd79dc95e9911ce3a0fd101f4716d9bbb8b75466
CRs-Fixed: 2264786
If SAP comes up in 2.4Ghz channel in HT/VHT 20/40Mhz and channel
switch comes for a 5Ghz channel, SAP gets started in HT/VHT 20/40
Mhz only while it should connect in VHT80Mhz or HT40Mhz depending
on whether the initial connection is in HT or VHT.
Change the bw to 80Mhz if initial connection is in VHT and to 40Mhz
if initial connection is in HT if channel switch comes for a 5Ghz
channel.
Change-Id: I709dd35575866b7ec9fddcfb94078f114a78d1a2
CRs-Fixed: 2226979
When acs_policy is enabled and STA is already up on some 5Ghz channel,
SAP is coming up on the same 5Ghz channel as expected but in 20Mhz even
when bandwidth given by hostapd is 80Mhz.
Start SAP on same channel as STA but in 80Mhz instead of 20Mhz.
Change-Id: Ie5dc06844f867d32796706cdcc190d1cb1b1d2fe
CRs-Fixed: 2196229
Address the following issues in the core/sap folder:
CHECK: 'availabe' may be misspelled - perhaps 'available'?
CHECK: 'defult' may be misspelled - perhaps 'default'?
CHECK: 'fucntion' may be misspelled - perhaps 'function'?
CHECK: 'Funtion' may be misspelled - perhaps 'Function'?
CHECK: 'intial' may be misspelled - perhaps 'initial'?
Change-Id: Id1e696f70d4d3c5ff650a353eb8402216909bc2c
CRs-Fixed: 2241944
Rename typedef tsap_Config_t and the underlying struct sap_Config to
align with the Linux coding standard.
Change-Id: I6e8f8b5ab9555c7781f1acf12a0475902866300c
CRs-Fixed: 2237721
Macro WLANTL_DEBUG is currently used to define some SAP debug
counters, but these counters are unused, so remove this obsolete code.
Change-Id: Ie7d976efcb5fb335b3f60a5af48a70dd214b3bd0
CRs-Fixed: 2220915
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tCsrRoamProfile typedef does
not meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Ie78bc34c5c39a56058d0daa0240047ec67392ab3
CRs-Fixed: 2207843
When stop_bss from HDD is received when a SAP channel change request
is currently in progress and channel change response is not yet
received from the FW, the stop_bss would clear the SAP session and
when channel change response is received, we try to start BSS again.
The CSR roam state is also set to JOINING in this case.
As part of start BSS, we queue set key command to SME active command
list. Since the session has been cleared, eWNI_SME_SETCONTEXT_RSP
sent to lim would not be processed in CSR state JOINING leading to set
key command stuck in the active command list.
Do not restart BSS after channel change response if stop BSS is in
progress. Also handle eWNI_SME_SETCONTEXT_RSP and clear the command
queue in CSR Joining state.
Change-Id: I8dbab054746d26cc92fc2274d35ce76a694035fe
CRs-Fixed: 2193505
Current driver is using pld_wlan_set_dfs_nol() and pld_wlan_get_dfs_nol()
directly through eSAP_DFS_NOL_SET and eSAP_DFS_NOL_GET case statements
respectively within HDD module. These methods are obsoleted as per
new driver design.
Use DFS component's utils_dfs_init_nol() and utils_dfs_save_nol() APIs
instead to get and set DFS NOL respectively.
Change-Id: I63e8adac3f99c2052c26e6b01d19071f098e0a4f
CRs-Fixed: 2172024
Currently there is no need to get nol when removing nol from candidate
channel list, because status of nol is set to CHANNEL_STATE_DISABLE in
regulatory.
Remove channels whose status are CHANNEL_STATE_DISABLE when trying to
remove nol from candidate channel list.
Change-Id: I90722116814e837fca456de1b2ef88d8519e9aff
CRs-Fixed: 2180752
During disconnection process, cache disconnecting STA information
so that the same information is updated to upper-layer on receiving
GET_STATION vendor command, after disconnection.
Change-Id: I2e5a0be42d81b86e6f4490de1bdf9d7e0797506d
CRs-Fixed: 2126182
1) Change some of the parameters for the following two functions
to reflect the right PHY mode definitions at different layers:
wlan_hdd_set_acs_ch_range
sap_select_default_oper_chan
2) Refine the kernel-doc for the above 2 functions due to their
parameter changes.
3) Use eCsrPhyMode instead of uint32_t to define hw_mode in
struct sap_acs_cfg to reflect the right PHY mode definition.
4) Refine the ACS code logic due to the changes introduced above.
Change-Id: I91b7814831a05265cfff456452eef0fe2ef97d1e
CRs-Fixed: 2167355
Current open and close session APIs mainly defined in HDD, SME, and SAP
modules are not proper. They require some design changes to maintain the
consistency.
In order to achieve the goal of making symmetrical design for open and
close session logic, refactor existing API in SAP module.
CRs-Fixed: 2147969
Change-Id: Iccc5ddd2b14ec2b27e6746a211edd10ec06ad434
wlansap_open(), wlansap_close(), wlansap_start(), and wlansap_stop()
APIs are not doing what their names' suggest. Rename these APIs such
a way that they reflect the true meaning of it.
Introduce two new APIs to create and destroy the sap context.
CRs-Fixed: 2147974
Change-Id: Ie0475df480d1b19e796ddf3b639de3078a5a61a0
In set default key operation module, under SAP mode, there are
conditional checks on key type information derived from the
Station's context. Also in get/add key operations SAP or STA
context pointers are derived without knowing the device mode
first, which is incorrect.
Derive key type info from SAP context in set default key and
derive station or sap context pointers only after knowing the
device mode.
Change-Id: I09b0e6f8d6315677e7584c7c24f003daa3eca9a3
CRs-Fixed: 2127288
Change "qcacmn: Rename enum tQDF_ADAPTER_MODE" (qca-wifi-host-cmn
Change-Id I20f1b6d1a0ab4b8fe6a85cefdff96a49e2f4652c) renamed enum
tQDF_ADAPTER_MODE to QDF_OPMODE. Update all references to use the
new name.
Change-Id: Ic6f663dac11a100f168b2626c7c0fbcaccbfca4f
CRs-Fixed: 2141065
Per the Linux coding style "mixed-case names are frowned upon" so
rename struct tagCsrDelStaParams.
Change-Id: I60d6448f4bae15e604a8ea55e72a6070a6ebdfbe
CRs-Fixed: 2140346
qcacld-2.0 to qcacld-3.0 propagation
Reduce the beacon interval just before the channel switch.
This would help in reducing the downtime on the STA side which
is waiting for beacons from the AP to resume back transmission.
Switch back the beacon_interval to its original value after
the channel switch based on the timeout. This would ensure
there are atleast some beacons sent with increased frequency.
Change-Id: I37db52713d9e2c78abbb97a7cd0274d9da35bfd2
CRs-Fixed: 1094958
qcacld-2.0 to qcacld-3.0 propagation
Send one action frame along with each beacon tx to reduce failure
of channel switching on sta side.
Change-Id: Idbbe1a4bcb4976101680974214fe85d9886ba7d1
CRs-Fixed: 1094958
"qcacld-3.0: Remove support for eWNI_SME_GET_WPSPBC_SESSION_REQ"
(Change-Id: Ia95c4911600a45d1004b9e6148b1b04f414e2475) removed the
only function which sends eSAP_GET_WPSPBC_SESSION_EVENT. Since this
event is obsolete, remove it.
Change-Id: I9d83f66bce4ec66bc131747254a45d8b6afb5cbb
CRs-Fixed: 2134951