Commit Graph

17885 Commits

Author SHA1 Message Date
Abhishek Singh
5a2c42f803 qcacld-3.0: Replace smeSessionId with vdevid in SME, HDD and WMA
Replace smeSessionId with vdevid in SME, HDD and WMA files.

Change-Id: I3b2f5dd08dac2d107f89762cd763a032b4867d16
CRs-Fixed: 2569192
2019-11-22 07:12:28 -08:00
Arun Kumar Khandavalli
c1d2b4f520 qcacld-3.0: Detach peer deletion from vdev deletion
Self-peer holds a reference to the vdev object. As part
of new changes to send vdev delete to firmware as part
of vdev delete notification, the self peer reference needs
to be released 1st before sending the vdev delete to firmware.

Hence detach the peer deletion from the vdev deletion.

Change-Id: I8169fdd6cc6acadea9a89baf38bd273797e8bc9b
CRs-Fixed: 2565315
2019-11-22 07:12:11 -08:00
nshrivas
fca07e060a Release 5.2.0.158G
Release 5.2.0.158G

Change-Id: I2ecf7f0c62df158639599d6edb9c768f4a1ba9db
CRs-Fixed: 774533
2019-11-22 05:35:46 -08:00
Alan Chen
c255b80855 qcacld-3.0: Use hdd_adapter_iterate() in hdd_is_connection_in_progress()
The function hdd_is_connection_in_progress() currently uses
hdd_for_each_adapter(), which is not working properly, resulting in it
checking for the NDI adapter only in an infinite loop. To solve this,
switch to using the newly created hdd_adapter_iterate() and its callback
function.

Change-Id: Ib6176ee268a3bf63ba9d29387d485cea6fc6c4fd
CRs-Fixed: 2561558
2019-11-22 05:35:45 -08:00
Sourav Mohapatra
60c3b2b014 qcacld-3.0: Add checks to NS and ARP offload requests
Currently the offloading of the NS and ARP to firmware is inefficient;
redundant caching is performed even if offload is not sent. This causes
wastage of resources and increases code complexity.

Introduce checks before caching and offload to ensure that the mentioned
inefficiencies are taken care of.

Change-Id: I6013810e1e08adb15c801f4fc21e1b50371bacda
CRs-Fixed: 2569763
2019-11-22 05:35:35 -08:00
Alok Kumar
6220137b8d qcacld-3.0: Populate correct RSSI value for Monitor packets
In Monitor Mode, RSSI is always -96 for packets in TCPDUMP.
Populate the correct RSSI value in Monitor Mode.

Change-Id: Iba9fe7091043d27828f4742058ed3d389cde7e26
CRs-Fixed: 2568129
2019-11-22 05:35:23 -08:00
Amruta Kulkarni
453c4e20ac qcacld-3.0: Replace channel id to freq in lim_get_rf_band()
In lim_get_rf_band() replace channel id  to frequency

Change-Id: I5250e75a98353ce6c20756474c5a228b169336fd
CRs-Fixed: 2557859
2019-11-22 05:35:12 -08:00
nshrivas
39c7d07ea1 Release 5.2.0.158F
Release 5.2.0.158F

Change-Id: I96623ad368223665b2a7493cd8457bb4fc544843
CRs-Fixed: 774533
2019-11-22 04:12:18 -08:00
bings
534c403cf9 qcacld-3.0: Call csr_set_ldpc_exception with channel frequency
csr_set_ldpc_exception is already used channel frequency as input
parameter.

Call csr_set_ldpc_exception with channel frequency.

Change-Id: I0a30b558e570ed0e14f925d23241bdaf1b6f8a44
CRs-Fixed: 2568321
2019-11-22 04:12:18 -08:00
Liangwei Dong
4547b89cb6 qcacld-3.0: Fix VHT IE Missing for 2G SAP
Use "CDS_BAND_2GHZ" to get 2G vht phy capabilities.
Also use "total_mac_phy_cnt" to enumerate mac_phy_cap
list to get correct 2G phy caps.

Change-Id: Ibced9b07370932b65a35f43aa579b3c28ea6e23b
CRs-Fixed: 2568539
2019-11-22 04:12:00 -08:00
Guisen Yang
398679d975 qcacld-3.0: Change wlan defconfig to support cnss2 as dlkm
Tune the configure items to support cnss2 as dynamic loadable
kernel module.

Change-Id: I848f22fe54e1c8539422c7d0b3f0f2868ed5ead9
CRs-Fixed: 2546266
2019-11-22 04:11:42 -08:00
nshrivas
f9c58dd922 Release 5.2.0.158E
Release 5.2.0.158E

Change-Id: I4d1e2b92b0562015793e2abc4e21114ba9315937
CRs-Fixed: 774533
2019-11-22 02:22:32 -08:00
Abhinav Kumar
13ebd82e91 qcacld-3.0: Make Stick time value to zero by default
Roaming to new AP is depends on the periodic scan which occurs every
10sec in fw. Due to the default value of sticky time (btm_sticky_time)
to BTM AP is 5 min, periodic roaming scan gets disabled in fw till
sticky timer expiry. So FW won’t trigger a periodic scan for 5 min,
in case of roaming to new AP by BTM.

In case if STA roams to new AP by BTM and Disassociation Timer
expires before Stick time, DUT is not able to roam to a candidate
AP till Stick time expiry.

In order to allow roaming just after disassociation timer expiry,
Make Stick time value to zero by default.

Change-Id: I0de09ec7134d543a9c934a03941bcdb57b983dc9
CRs-Fixed: 2566842
2019-11-22 02:22:31 -08:00
Pragaspathi Thilagaraj
c7229ac591 qcacld-3.0: Fix length of EDCA config strings
Currently the driver uses STR_EDCA_ANI_ACBK_LOCAL as the length
for all the EDCA_LOCAL string cfg items.

Use the corresponding string length for EDCA_LOCAL string.

Change-Id: Ia6fd19b90c3d6c2c6e7a12e9f44389db2bf160f8
CRs-Fixed: 2569514
2019-11-22 02:22:17 -08:00
Sourav Mohapatra
2a03074fae qcacld-3.0: Rectify max values for TSF pin inis
The max values of the ini's CFG_SET_TSF_GPIO_PIN and
CFG_SET_TSF_IRQ_HOST_GPIO_PIN are set wrong. The default value for those
is higher than the max value.

Increase the max value to accommodate the correct range.

Change-Id: I7d5528801c3b0fc2480e00b28ab4eb8f0385930a
CRs-Fixed: 2570044
2019-11-22 02:22:03 -08:00
Srinivas Dasari
b6cf30725e qcacld-3.0: Provide SNR value as SIGNAL_INFO to userspace for SAP
Currently, userspace is expecting SNR value through
NL80211_STA_INFO_SIGNAL for a disconnected client of SAP. But
the driver sends RSSI value by doing noise floor to the SNR value
received from firmware. Convert this back to SNR and provide to
userspace as per the definition of NL80211_STA_INFO_SIGNAL 
and to be in sync with the existing implementation of userspace.

Change-Id: Ia360424a9d44e48fae5a85cf0d2c577e92cd93be
CRs-Fixed: 2552542
2019-11-22 02:21:44 -08:00
nshrivas
f7ae80a32e Release 5.2.0.158D
Release 5.2.0.158D

Change-Id: I3678eb76b96617dfb649917017c9f4c68b6cde19
CRs-Fixed: 774533
2019-11-22 00:27:14 -08:00
Jingxiang Ge
645300aca8 qcacld-3.0: Fix hdd_txrx_hist NULL in ftm mode
hdd_txrx_hist doesn't init when insmod in con_mode 5,
after change back to mission mode, it will cause null
memory access in hdd_bus_bw_work_handler.

test step:
  1  insmod wlan.ko con_mode=5
  2  echo "0" > con_mode
  3  connect with AP
  4  issue happens
Move wlan_hdd_init_tx_rx_histogram to start module.

Change-Id: I01b94b9461a87c29cc03b7e3c841bbda6e565188
CRs-Fixed: 2567165
2019-11-22 00:27:13 -08:00
nshrivas
2d5a6c44a8 Release 5.2.0.158C
Release 5.2.0.158C

Change-Id: I38fb2403a02ce3cdf974447a95397b6010a33796
CRs-Fixed: 774533
2019-11-21 09:13:21 -08:00
Arun Kumar Khandavalli
4f6a5bd519 qcacld-3.0: Send vdev create to fw from object create notification
Send vdev create to firmware when the mlme vdev create handler
is invoked as part of the vdev object create.

Change-Id: Ibba02f6b5885d7b3a62529ef51768f520395513e
CRs-Fixed: 2555943
2019-11-21 09:13:20 -08:00
Arun Kumar Khandavalli
bdc713cfde qcacld-3.0: Deregister the sta if stop bss fails
De-register the broadcast/connected sta if the stop_bss fails, so that
all the resources for the sta is properly freed.

Change-Id: Ib2462a98ca1ad561e39c3f69fa3f982b68d0fe63
CRs-Fixed: 2568668
2019-11-21 09:13:12 -08:00
nshrivas
665856230f Release 5.2.0.158B
Release 5.2.0.158B

Change-Id: Iefa012e82b6ae965a71fd76a0ee1fff967661943
CRs-Fixed: 774533
2019-11-21 06:12:04 -08:00
Vevek Venkatesan
29076ec1d8 qcacld-3.0: cdp: Converge cdp_ipa_ops
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.

- ipa_get_resource
- ipa_set_doorbell_paddr
- ipa_set_active
- ipa_register_op_cb
- ipa_get_stat
- ipa_tx_data_frame
- ipa_uc_get_share_stats
- ipa_uc_set_quota
- ipa_enable_autonomy
- ipa_disable_autonomy
- ipa_setup
- ipa_enable_pipes
- ipa_disable_pipes
- ipa_rx_intrabss_fwd

Change-Id: I678d7a7de7132417ff6051b0fd6da5d14426d21e
CRs-Fixed: 2540861
2019-11-21 06:12:04 -08:00
Rakesh Pillai
d2e5385d62 qcacld-3.0: cdp: Convergence of cdp_bus_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 bus_ops
- bus_suspend
- bus_resume

CRs-Fixed: 2539749
Change-Id: I7f57c09fe4620f90c5cfab781635f6f0ada08ec5
2019-11-21 06:11:52 -08:00
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