Commit Graph

17661 Commits

Author SHA1 Message Date
Rakesh Pillai
6a36b0a26a qcacld-3.0: cdp: Convergence of cdp misc ops
Currently the cdp apis 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/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.

Converged misc_ops
- tx_non_std
- get_opmode
- get_tx_ack_stats
- set_ibss_vdev_heart_beat_timer
- hl_tdls_flag_reset
- set_wisa_mode
- txrx_post_data_stall_event
- update_mac_id
- pkt_log_init
- pkt_log_con_service
- get_num_rx_contexts
- set_wmm_param
- flush_rx_frames
- bad_peer_txctl_set_setting
- bad_peer_txctl_update_threshold
- txrx_data_stall_cb_register
- txrx_data_stall_cb_deregister
- vdev_set_driver_del_ack_enable
- get_intra_bss_fwd_pkts_count
- mark_first_wakeup_packet
- register_pktdump_cb
- unregister_pktdump_cb
- pdev_reset_driver_del_ack
- runtime_suspend
- runtime_resume

CRs-Fixed: 2539735
Change-Id: I2baad09fde29d439ae2099e01e4e68ed6b94196d
2019-11-21 06:11:43 -08:00
nshrivas
d0c86982b0 Release 5.2.0.158A
Release 5.2.0.158A

Change-Id: I02146ca360225ccf9aedce5c013dc7590662ac9d
CRs-Fixed: 774533
2019-11-21 04:41:30 -08:00
Ashish Kumar Dhanotiya
ee0332a413 qcacld-3.0: Update regulatory configs before use
Currently regulatory comnfigs are getting updated from wiphy
init inside regulatory init api which is too late in the driver
init sequence. There are some apis in driver init sequence which
uses these ini configs before wiphy init, one such example
is scm_11d_cc_db_init. since the ini configs are not populated
this may lead to undefined behaviour.

To resolve above issue, populate ini configs at the same place
where all other components inis are getting populated.

Change-Id: I9cb2f069fba3eb76a2c8f7285b6d371cf5fa8de4
CRs-Fixed: 2570148
2019-11-21 04:41:29 -08:00
nshrivas
a267b8b5d5 Release 5.2.0.158
Release 5.2.0.158

Change-Id: I0cdb7c5a853ae9eda15f1903784f49c45381b3c1
CRs-Fixed: 774533
2019-11-21 00:45:05 -08:00
tinlin
81f94d232d qcacld-3.0: Convert legacy channel usage
Modify the following API's code and parameters to make
sure it is using frequency instead of channel:

	csr_update_scan_entry_associnfo

Change-Id: Iff4e74fedc7816950ad7a71dbd3d8c08bb59f717
CRs-Fixed: 2563847
2019-11-21 00:45:04 -08:00
Arun Kumar Khandavalli
add284b880 qcacld-3.0: check for duplicate session before vdev create
Check for any duplicate peer with the same mac address before
the vdev is created.

Change-Id: Ie6d71b7b2892ab2ac6e8bfb37c99f20f0854c2f2
CRs-Fixed: 2555932
2019-11-21 00:44:54 -08:00
wadesong
a8940a2ddf qcacld-3.0: Convert HDD/SME/CSR legacy channel ID usage
1) Change the following functions' signatures and/or code
   to make them using frequencies instead of channel IDs:

   hdd_get_adapter_home_channel
   hdd_get_operating_channel
   wlan_hdd_request_pre_cac
   wlan_hdd_validate_and_get_pre_cac_ch
   __wlan_hdd_request_pre_cac
   hdd_check_and_disconnect_sta_on_invalid_channel
   set_first_connection_operating_channel
   sme_is_channel_valid
   csr_roam_is_channel_valid

2) Remove the declaration, definition and usage of
   csr_roam_is_chan_freq_valid, and replace it with
   csr_roam_is_channel_valid as this API does exactly
   the same thing.

3) Retain the code/logic for chan ID utilization in
   function set_first_connection_operating_channel as
   it is used to convert the parameters issued by
   user space apps.

4) Fix a few camel cases in csr_api_roam.c

Change-Id: I4f9cfa21a5f40288ad9492ac8be7939ed8eb6484
CRs-Fixed: 2565002
2019-11-21 00:44:43 -08:00
gaurank kathpalia
4eeff00bb6 qcacld-3.0: Remove the check of op protext in sap scan cb
Currently in stop adapter the driver checks the ACS bit
in progress and then waits for it to get complete
Now if in scheduler thread the sap scan cb comes then
it will check to get op protect which would not be
granted as it is a pdev operation, and already a vdev
transition is in progress, hence the bit for acs in progress
would not get cleared.

Fix is to remove the check of op protect as it is no longer
needed since the stop adapter takes care of acs in progress.

Change-Id: Ifebaed87e3a798126031d9971dc801d60fd34ea6
CRs-Fixed: 2567157
2019-11-21 00:44:31 -08:00
Liangwei Dong
897b439b3c qcacld-3.0: Add policy_mgr_is_hw_dbs_required_for_band API
policy_mgr_is_hw_dbs_required_for_band is for any HW where
PHYA/MAC0 doesn't support the given band. We need to switch
to DBS mode to support the band. So far we have
overloaded policy_mgr_is_hw_dbs_2x2_capable to achieve above.
Need a cleaner API to work in a generic way
(for 2x2, 1x1 or any chain mask configuration).

Change-Id: I1cb28bece1242fc749a0a6a56fadca0502850c43
CRs-Fixed: 2565939
2019-11-21 00:44:19 -08:00
gaurank kathpalia
4bcc0a7891 qcacld-3.0: Fix indentation issue in sap ch select
Fix indentation issue in sap channel select to
avoid compile failures in auto branch compilers

Change-Id: Ifa92dfaaa349833d5651b7cdb66d87f039f0df36
CRs-Fixed: 2568414
2019-11-21 00:44:05 -08:00
nshrivas
d1f98f68a3 Release 5.2.0.157Z
Release 5.2.0.157Z

Change-Id: Ia33a586fb398a717919766a3f937d3ccab88aa12
CRs-Fixed: 774533
2019-11-20 10:44:27 -08:00
Pragaspathi Thilagaraj
e8bb735c85 qcacld-3.0: Fix compilation issue with WLAN_FEATURE_FILS_SK disabled
In pe_roam_synch_callback, fils_info is accessed from pe_session
and fils_info is defined only if WLAN_FEATURE_FILS_SK flag is
enabled.

Define new function to fill the fils_ft data, when the compile
flag WLAN_FEATURE_FILS_SK is defined.

Change-Id: If4f20950c489814366553e6fce65779b4f3551a4
CRs-Fixed: 2568349
2019-11-20 10:44:26 -08:00
Sourav Mohapatra
51a3a86792 qcacld-3.0: Reduce excessive "info" logging
In the function __wlan_hdd_read_ll_stats_debugfs, the debug prints are
of level "info". This takes up space in the log buffers that affects the
functionality of features use by customers.

Change the logging from "info" to "debug" so as to print the same in the
driver logs instead of kernel logs.

Change-Id: I3c38f704175d1d74496fa0ccf4e27ef48d5100f6
CRs-Fixed: 2562762
2019-11-20 10:44:16 -08:00
nshrivas
08080125d7 Release 5.2.0.157Y
Release 5.2.0.157Y

Change-Id: I90f24d41ca24302f3c9761d75712334c950d780c
CRs-Fixed: 774533
2019-11-20 05:51:28 -08:00
bings
14985fe5f6 qcacld-3.0: Clear wlan_reg_freq_to_chan
Clear wlan_reg_freq_to_chan in csr_fetch_ch_lst_from_occupied_lst.

Change-Id: Iea5fc40a3cb2bf6c497d130035f7f46c2adb6d7c
CRs-Fixed: 2568342
2019-11-20 05:51:27 -08:00
nshrivas
1a05812b50 Release 5.2.0.157X
Release 5.2.0.157X

Change-Id: If306b9aabe0afd73662b0680b34dc5598653ab63
CRs-Fixed: 774533
2019-11-20 01:15:16 -08:00
Amruta Kulkarni
ac761a6f01 qcacld-3.0: Replace channel with frequency in lim
Replace lim_get_regulatory_max_transmit_power() with
wlan_reg_get_channel_reg_power_for_freq()

Change-Id: Id5ef6cb9666bcb24c2b71bcd1a15f46966f508a4
CRs-Fixed: 2557826
2019-11-20 01:15:16 -08:00
Kiran Kumar Lokere
5abc59e4bf qcacld-3.0: Fix incorrect phymode in 6GHz connection
Add support to parse 6GHz operation information from AP beacon for
connection.

Change-Id: I67d167cd982163e28b3bbe7dc81747d8289a1513
CRs-Fixed: 2567849
2019-11-20 01:15:01 -08:00
nshrivas
8e36da41ba Release 5.2.0.157W
Release 5.2.0.157W

Change-Id: I61035f8cf50ab64178b8fd14f93963547e4e3f3d
CRs-Fixed: 774533
2019-11-19 22:32:54 -08:00
Pragaspathi Thilagaraj
7be8933aba qcacld-3.0: Allow roaming to whitelist SSID
Currently, when roaming to different SSID, the host driver
validates the SSID of the current connected AP and the roamed
SSID. If the validation fails, the driver disassociates with
the current AP, which results in data path carrier queues being
disabled. And as part of the roam indication to the user space,
the driver doesn't enable carrier queues.

Check if the SSID from the roam synch indication is present in
the allowed SSID list, if the SSID is present don't
disassociate with current AP.

Change-Id: Iafe3497d5d00753edbd5d5176ff3acd1a6d949bd
CRs-Fixed: 2567233
2019-11-19 22:32:52 -08:00
Alan Chen
18cb483d82 qcacld-3.0: Create new hdd_adapter_iterate() function
Currently, there is a problem in hdd_for_each_adapter(), as it is
checking for the NDI adapter only in an infinite loop. Create
hdd_adapter_iterate() in order to iterate through all adapters properly.

Change-Id: Ib0e22d0f46d6311d44de3ee48b3202376a42f209
CRs-Fixed: 2568906
2019-11-19 22:32:43 -08:00
nshrivas
7d76e2d36b Release 5.2.0.157V
Release 5.2.0.157V

Change-Id: Id1c78dc49d1c22b0b8f03e1c2a352533c281521d
CRs-Fixed: 774533
2019-11-19 14:44:30 -08:00
Wu Gao
ceac285c37 qcacld-3.0: Use pre_auth_channel_freq to replace preAuthchannelNum
Add pre_auth_channel_freq into struct sSirFTPreAuthReq and replace
preAuthchannelNum.

Change-Id: I47f8a1e4057b4efd2a307b26c066a695e5338aa2
CRs-Fixed: 2568598
2019-11-19 14:44:29 -08:00
nshrivas
707e837ef0 Release 5.2.0.157U
Release 5.2.0.157U

Change-Id: I5a5d0f81e6e8b534cd6ca86738b961862c2729be
CRs-Fixed: 774533
2019-11-19 13:04:42 -08:00
Amar Singhal
999bd8a3aa qcacld-3.0: Check for 6 ghz operating class in IEs
For legacy platforms, due to channel number ambiguity between 6ghz
and 5/2.4 channels, operating class should be checked while
processing management frames. Therefore check the operating class in
the relevant IEs.

Change-Id: I85b9d3da0430e6448480d47dc95b2fdfa8b6e288
CRs-Fixed: 2556219
2019-11-19 13:04:42 -08:00
nshrivas
8e4c902786 Release 5.2.0.157T
Release 5.2.0.157T

Change-Id: I087889faf17b7de6b47fb0d0731deeb2cccb31ac
CRs-Fixed: 774533
2019-11-19 03:38:43 -08:00
Karthik Kantamneni
2d65b47bb3 qcacld-3.0: Add WHUNT bus types in pld_lock/unlock_reg_window APIs
Currently pld_lock/unlock_reg_window APIs don't support
WHUNT simulation bus types and treated as error.
Add support for WHUNT simulation buses in lock/unlock
register window APIs.

Change-Id: I1e82d822becaadc9592b693e6ab20331ecb9cbc2
2019-11-19 03:38:43 -08:00
gaurank kathpalia
8c516f0824 qcacld-3.0: In ACS use scan entry to get BW, center freq etc
In ACS, driver uses frame parser to get the HT/VHT/HE IE to fill
bandwidth, center freq etc. These info are already available in
scan entry so use them.

Change-Id: I5148f8aa20174b4fa0fc64acd7b74825e10ede03
CRs-Fixed: 2568513
2019-11-19 03:38:36 -08:00
nshrivas
d0fa9505a6 Release 5.2.0.157S
Release 5.2.0.157S

Change-Id: I996ca1bed27270ce8e1984e8a3693ca045d1cc18
CRs-Fixed: 774533
2019-11-19 01:45:36 -08:00
Wu Gao
480a304199 qcacld-3.0: Cleanup tx context if cancel mgmt tx
It doesn't cleanup tx context immediately, which cause mgmt will be
tx again unexpectly. Then P2P state mismached and form connection
failed.

Change-Id: I9eba9df057221e5dabf5ff42fe0d2fd695aea9df
CRs-Fixed: 2564622
2019-11-19 01:45:36 -08:00
nshrivas
b4a3740ae0 Release 5.2.0.157R
Release 5.2.0.157R

Change-Id: I4df40647c84f7bd3b207010d26a2fec28e0182de
CRs-Fixed: 774533
2019-11-18 22:59:47 -08:00
Abhinav Kumar
18c78a34b9 qcacld-3.0: Possible OOB write in rrm_process_radio_measurement_request
In case if two measurement requests calls update_rrm_report() twice,
possible out-of-bounds write for the allocated report array, report[]
in rrm_process_radio_measurement_request

Change-Id: Icc8b7aa14bbcc1219d28025e599c9976a3525bba
CRs-Fixed: 2564485
2019-11-18 22:59:46 -08:00
Jinwei Chen
230918fa0e qcacld-3.0: enable ENABLE_QDF_PTR_HASH_DEBUG macro for debugging
Enable ENABLE_QDF_PTR_HASH_DEBUG macro for Def build only to debug
qdf_ptr_hash related issue.

Change-Id: Ifa35afa716333d3bf777558e15d7b0295abce72c
CRs-Fixed: 2566025
2019-11-18 22:59:36 -08:00
nshrivas
565a72f7b8 Release 5.2.0.157Q
Release 5.2.0.157Q

Change-Id: Ib6c126c82c9384ed8dfb8205ad6c7f12cdd7ddf9
CRs-Fixed: 774533
2019-11-18 14:08:49 -08:00
Yeshwanth Sriram Guntuka
4382d420fd qcacld-3.0: Enable large ce desc history only for helium
Enable large ce desc history only for helium.

Change-Id: Ia4261736f48b7bd9859506f6e6917a0e6ed287f8
CRs-Fixed: 2568325
2019-11-18 14:08:49 -08:00
nshrivas
da0af59bda Release 5.2.0.157P
Release 5.2.0.157P

Change-Id: I3ed8b7ee416402dac911b03ce244b943881955cb
CRs-Fixed: 774533
2019-11-18 10:32:31 -08:00
Jianmin Zhu
d69d654b67 qcacld-3.0: Replace chan list with freq list in sme
populate pcl_freq_list instead of pcl_channel_list in
scan_filter.
populate chan_freq_list instead of channel_list in scan_filter.

Change-Id: I3ab0865f3533332ff4e7ad4511b857d3712a1404
CRs-Fixed: 2561869
2019-11-18 10:32:31 -08:00
Jianmin Zhu
5d162769f5 qcacld-3.0: Convert SME code legacy channel ID usage
Remove usage of sme_freq_to_chan_list from:

csr_neighbor_roam_get_scan_filter_from_profile
sme_rrm_send_scan_result

Change-Id: I67f968c306d31f1e17cc9434274f65600cb39b02
CRs-fixed: 2561229
2019-11-18 10:32:19 -08:00
nshrivas
22b594ff43 Release 5.2.0.157O
Release 5.2.0.157O

Change-Id: I8c53bbbcee41181d01ea5f18d3540bf5623803b6
CRs-Fixed: 774533
2019-11-18 04:04:56 -08:00
Tiger Yu
564aa84417 qcacld-3.0: Update the IPA interface context if device_mode is different
For wlan_ipa_setup_iface, if found the net_dev is already there,  but the
device_mode is different, will remove this obsolete record and update it
with new interface context for current IPA WLAN event.

Change-Id: Ib9ecd7f7b3b9603c37dc1d69cd0f3a2868c978ec
CRs-Fixed: 2567222
2019-11-18 04:04:56 -08:00
nshrivas
f90e91efed Release 5.2.0.157N
Release 5.2.0.157N

Change-Id: I2dcd8ea9be805c9068666b67f51b1801e1a8faa2
CRs-Fixed: 774533
2019-11-18 02:29:36 -08:00
Sourav Mohapatra
1600c7ace6 qcacld-3.0: Use dynamic NSS while reporting stats
Presently in the driver, the NSS used for reporting stats to the upper
layer is fetched from the VDEV generic NSS. This NSS is not updated
dynamically with the set NSS command. As a result, in the case the
command is given, the NSS reported to the userspace is not proper.

To mitigate this, instead of fetching the generic NSS, fetch the dynamic
NSS from the mlme.

Change-Id: I9fdbc0625ebe8343a7bf750829db028f4ddd86d0
CRs-Fixed: 2551187
2019-11-18 02:29:35 -08:00
Abhishek Ambure
ee81f8b2eb qcacld-3.0: Set 5G band capability bit in gActionOUIConnect1x1 ini
gActionOUIConnect1x1 is used to specify action OUIs for 1x1
connection.

Some Access Points are unable to handle SMPS and OMN frames and shows
abnormal behaviour when STA is switching between 2x2 to 1x1 and
vice-versa. To avoid this, restrict connection in 1x1 mode with such APs.

Here the scenario is DUT STA1 connects in 2x2 mode to AP1 in 5G mode then
later on DUT another STA2 iface connects to AP2 in 2G mode. DUT sends OMN
frame to AP1 to inform that it is going to switch to 1x1 mode. AP1 ack
this frame but doesn't change its Tx rates and continues to use 2x2 rates
which DUT cannot ACK. This causes low throughput issue where AP1 Tx rate
falls to 6Mbps due to missing acks.

Hence, 5G band capability bit in "gActionOUIConnect1x1" is set to make
connections in 1x1 with such AP.

Presently, 5G band capability bit is not checked if 2G band capability bit
is not set or 2G band is not enabled. Hence, Vendor AP capability check for
2G and 5G Band is refactored.

Change-Id: Ic6b682451405a2373000e4c64656f50c2fab0ee6
CRs-Fixed: 2558293
2019-11-18 02:29:15 -08:00
Liangwei Dong
9f67bd28c8 qcacld-3.0: Fix Invalid 6G HE OP IE
1. Zero local variable "he_ops" before intersect with user IE.
2. If csr_check_and_validate_6g_ap fails, use "break" to
free memory in end of function csr_send_join_req_msg.
3. Remove co_located_bss checking for 6GHz AP. co_located_bss
can be valid for 6GHz AP.

Change-Id: I4b521eead6e09db860b5e21c21882f14a1be8576
CRs-Fixed: 2563923
2019-11-18 02:29:07 -08:00
nshrivas
a97115fcf9 Release 5.2.0.157M
Release 5.2.0.157M

Change-Id: Ib80a511033bd0fe8d372aa96a4496045bbd61af9
CRs-Fixed: 774533
2019-11-18 00:45:29 -08:00
Venkata Sharath Chandra Manchala
9173dd545e qcacld-3.0: Add HAL_CONFIG_SLUB_DEBUG_ON
Enable HAL_CONFIG_SLUB_DEBUG_ON to enable
debug level changes in HAL layer.

Change-Id: I6d175f0cf25bb20d0ad4d7cf7f0e92f77d23a0f1
CRs-Fixed: 2566849
2019-11-18 00:45:29 -08:00
Alan Chen
e119c7dcc5 qcacld-3.0: Use qdf_pm_system_wakeup() for abort system suspend
hdd_abort_system_suspend() function currently uses pm_wakeup_hard_event(),
which does not work because device is not initialized. Switch to using
pm_system_wakeup() instead by calling qdf_pm_system_wakeup() wrapper.

Change-Id: Ib89eca5014729f6a2103e14c6f46540d1406a5a0
CRs-Fixed: 2566770
2019-11-18 00:45:18 -08:00
nshrivas
bb2b08b141 Release 5.2.0.157L
Release 5.2.0.157L

Change-Id: Ie4fb877767eda74bee62916c1d2e2517ea6f9725
CRs-Fixed: 774533
2019-11-16 17:55:40 -08:00
Kiran Kumar Lokere
6056d188b8 qcacld-3.0: Correct the 6GHz operation info in HE op IE
Correct the 6G operation info field values in HE operation IE.
And replace the legacy api with new 6G support api to calculate
channel center frequencies.

Change-Id: Icafdd72b386137a6a0c8d0de233d4fbdbd121610
CRs-Fixed: 2557233
2019-11-16 17:55:39 -08:00
nshrivas
80e9ac4563 Release 5.2.0.157K
Release 5.2.0.157K

Change-Id: I62850f83aed47247eae4623f6e67c1f76b4ec457
CRs-Fixed: 774533
2019-11-16 15:22:58 -08:00