Commit Graph

1379 Commits

Author SHA1 Message Date
Ashish Kumar Dhanotiya
9f72df00fd qcacld-3.0: Add mtrace logging for P2P module
We are transitioning to new logging infrastructure
by using existing mtrace functionality.

Add new logging for complete P2P module.

Change-Id: If49d66ea42a48be0ac6c7a8b4c91d69ebd5fcef9
CRs-Fixed: 2308618
2018-09-11 12:01:40 -07:00
Pragaspathi Thilagaraj
00bd8bc47f qcacld-3.0: Remove legacy ini for chainmask configs
Remove the legacy ini config values defined in hdd_cfg.
Call the mlme cfg get api to retrieve chainmask config values.
Remove the tx_chainmask_cck from cds_config as mlme object is
not initialized during cds_open. Call mlme cfg api during
wma_open to populate the tx_chainmask_cck value.

Change-Id: If48aeb62cf35e2e604be2b72845b8e98c5c313dc
CRs-Fixed: 2310382
2018-09-11 12:01:28 -07:00
Qiwei Cai
ba95ce632f qcacld-3.0: Featurize BUILD_DIAG_VERSION
Featurize BUILD_DIAG_VERSION to compile out to save memory.

Change-Id: Ib6b6c8d197556a9457e600dd5e802f7e50f6242d
CRs-Fixed: 2301487
2018-09-11 08:44:03 -07:00
Will Huang
24d272baff qcacld-3.0: Remove unneeded csr_nonscan_pending_ll_remove_entry()
csr_nonscan_pending_ll_remove_entry() is not a correct API to
remove command from non-scan pending queue, it always return
false and fail to insert command to local list.

The correct API to remove an entry is csr_release_command(), no
need to check entry when insert to local list.
Remove the wrong API csr_nonscan_pending_ll_remove_entry().

Change-Id: I6c81f5d4ae57ceb6ebf2eec0a63859d0c1f12cb1
CRs-Fixed: 2308863
2018-09-10 23:51:51 -07:00
Rajeev Kumar Sirasanagandla
4f20b67e7a qcacld-3.0: Add debugfs support for roam scan stats
Add debugfs entry to get last five roam scan stats info which includes
old bssid, new bssid, roaming candidates etc., for STA interface.

Change-Id: Ied66beb270d97b6e17a6116c1be0e82783094519
CRs-Fixed: 2203885
2018-09-07 04:43:53 -07:00
Liangwei Dong
d108cf20d6 qcacld-3.0: Disallow roam cfg if Roam not started
The driver always allow roaming command ROAM_SCAN_OFFLOAD_UPDATE_CFG
even through session roaming not "started" in CSR.
But WMA will always enable Roam_scan_mode to non-zero
to FW when handle the command ROAM_SCAN_OFFLOAD_UPDATE_CFG.
The inconsistency is the CSR still keep as roaming stopped
status but WMA enable the roaming on session.

In STA+STA case, there will cause two vdev roam mode enabled in Firmware
because the CSR roaming start state does not keep sync with FW.

Fix by enable FW roam only based on enable state from CSR
when handle the ROAM_SCAN_OFFLOAD_UPDATE_CFG in WMA.

Change-Id: I95a2bd1edd88cc241ae9821a6e0756c44663229a
CRs-Fixed: 2305594
2018-09-06 22:22:36 -07:00
Jeff Johnson
0c8dbc37c4 qcacld-3.0: Refine the extscan reset significant change logic
Make the following updates to the extscan reset significant change
logic:
1) Exclusively use the Unified WMI data structures.
2) Update the HDD<=>SME interface to enforce the contract that SME
   must not make any assumptions about the buffers provided by HDD.

Change-Id: I9b63924f4219f6d3567e3ee2b1a31e1a9ce3bc29
CRs-Fixed: 2309570
2018-09-06 20:34:23 -07:00
Rajeev Kumar Sirasanagandla
4c8edc0e69 qcacld-3.0: Add debugfs support for connect info
Add debugfs entry to get connect info (bssid, ssid, freq etc.,)
for STA interface.

Change-Id: Id5c350dbb4ca9b9f6b203459adee59b2d5e94f67
CRs-Fixed: 2203654
2018-09-06 08:54:34 -07:00
Rachit Kankane
026e77a99d qcacld-3.0: Featurize P2P Listen Offload
P2P Listen offload is not a requirement for Genoa, hence featurize
P2P listen offload code to save memory foot-print for Genoa.

Change-Id: If50c784bb4cd6daac513a0654364e78cd636c9d3
CRs-Fixed: 2304554
2018-09-06 01:41:49 -07:00
Arif Hussain
6686c0b995 qcacld-3.0: Enable twt based on peer capabilities
Enable twt based on peer capabilities, for non-AX devices.

Change-Id: I2710cfa362efe6fc58ad46ed41b1c3fe1b85d6f9
CRs-Fixed: 2287706
2018-09-05 16:45:34 -07:00
Jeff Johnson
b43ed03298 qcacld-3.0: Refine the extscan set significant change logic
Make the following updates to the extscan set significant change
logic:
1) Exclusively use the Unified WMI data structures.
2) Update the HDD<=>SME interface to enforce the contract that SME
   must not make any assumptions about the buffers provided by HDD.

Change-Id: I916f387cee254c2d8ba57a9182bd927a91eadf0c
CRs-Fixed: 2307374
2018-09-05 06:46:59 -07:00
Jianmin Zhu
aac14e0ac6 qcacld-3.0: Remove useless legacy roam reason eCsrLostLink1/2/3
1. Remove eCsrLostLink1/2/3 from csr_roam_reason.
2. Remove eCsrLostLink1/2/3 from csr_get_roam_cmd_type.
3. Remove csr_set_abort_roaming_command
4. Remove CSR_IS_ROAMING_COMMAND

Change-Id: Ibcc5dc63739b2764301f5a35a2110d570bc3928e
CRs-Fixed: 2308267
2018-09-05 05:08:47 -07:00
Jianmin Zhu
1ad0dadd83 qcacld-3.0: Remove useless legacy roam reason eSmeIssuedIbssJoinFailure
Remove all eSmeIssuedIbssJoinFailure relative code in disasssoc
and roam result handler.

Change-Id: Ia204fa331ec6f5de1ff52b8c2d2907d10f0d1ee4
CRs-Fixed: 2308522
2018-09-05 05:08:44 -07:00
Rajeev Kumar Sirasanagandla
e3b599151d qcacld-3.0: Add support to store vdev object in PE session
Add support to store vdev object in PE session and acquire/release its
reference count during PE create/delete session respectively.

Change-Id: I476798c4c42992dec2a2648319780b206274e8c4
CRs-Fixed: 2306387
2018-09-05 05:08:37 -07:00
Rachit Kankane
ee1735c905 qcacld-3.0: Featurize RMC
Featurize RMC and disable for Genoa

Change-Id: I66b17622c89dd5736f152c4cd9506ce2706b4604
CRs-Fixed: 2304269
2018-09-05 00:17:52 -07:00
Rachit Kankane
f6834c4b4c qcacld-3.0: Featurize Dynamic Voltage Config
Host provides INI way to control voltage configs, featurizing the
same for Genoa.

Change-Id: Ia58d84eb2e2a67ead189a51d2a0b98230513f8f9
CRs-Fixed: 2304125
2018-09-05 00:17:45 -07:00
Ashish Kumar Dhanotiya
8d039c8829 qcacld-3.0: Add mtrace logging for scan request
We are transitioning to new logging infrastructure
by using existing mtrace functionality.
Add new logging for complete scan request and response path.

Change-Id: Iab48b0f2a6ab9d0ec14e3110eb628b6d1731df53
CRs-Fixed: 2308237
2018-09-04 21:15:01 -07:00
Yeshwanth Sriram Guntuka
cbe6144d29 qcacld-3.0: Reduce log level for few prints to debug
Change log level for few messages from info/warn/err
to debug.

Change-Id: I2fd3df21d70326301b39b91efdf827d6b391f4e3
CRs-Fixed: 2301924
2018-09-03 06:48:36 -07:00
Vignesh Viswanathan
7818250f0f qcacld-3.0: Fix camel case names in mlme_ht_capabilities_info structure
Rename camel case names of members of mlme_ht_capabilities_info
structure.

Change-Id: I576ad77c4744c240537d540f1efaab0e7d9cb109
CRs-Fixed: 2293859
2018-08-31 14:49:14 -07:00
Abhishek Singh
78f654bcc5 qcacld-3.0: Validate cbmode and bw provided by AP in HTinfo IE
Driver checks if 40 Mhz is supported for the channel but doesn't
validate if the cbmode provided by AP is valid.

Invalid cb mode provided by AP can lead to failure.

Add check to validate cbmode and bandwidth from AP in htinfo IE.

Change-Id: I3d2da7a8e3045594baf201732dd80a82bd88e16c
CRs-Fixed: 2303267
2018-08-30 10:15:57 -07:00
Sandeep Puligilla
1f1e400e99 qcacld-3.0: Change the log level in SME/PE/WMA
Change the info/err/warn log level to debug in
SME/PE/WMA layer.

Change-Id: Ica0a53d5d6e08b62bbc240ba763ccce59b26af0e
CRs-Fixed: 2299223
2018-08-29 12:30:20 -07:00
bings
13f45e6690 qcacld-3.0: Always update mgmt encryption type when there is RSN IE
If mgmt encryption type is not updated, 11w feature will not be enabled
correctly for this association.

Mgmt encryption type is always updated through limJoinReqSerDes in the
cld2.0, which is removed in cld3.0. In cld3.0 if fast roaming is enabled,
mgmt encryption type will be updated through csr_construct_rsn_ie. If
fast roaming is not enabled, csr_construct_rsn_ie will not be called and
mgmt encryption type will not be updated.

Always called csr_construct_rsn_ie in csr_retrieve_rsn_ie to make sure
mgmt encryption type is updated.

Change-Id: I2d6541dd88a9d1770f4976b9caa32baa70a60ed3
CRs-Fixed: 2300847
2018-08-29 03:07:51 -07:00
Jeff Johnson
9743eb7f49 qcacld-3.0: Refine the extscan stop BSSID hotlist logic
Make the following updates to the extscan stop BSSID hotlist logic:
1) Exclusively use the Unified WMI data structures.
2) Update the HDD<=>SME interface to enforce the contract that SME
   must not make any assumptions about the buffers provided by HDD.

Change-Id: I01e29a96fded829c734532b021aeea1960bba641
CRs-Fixed: 2294273
2018-08-20 22:32:28 -07:00
Jeff Johnson
57b264e259 qcacld-3.0: Remove ftm_msg_processor_callback from MAC context
The MAC context ftm_msg_processor_callback is a remnant from the
legacy FTM support. Since this callback is no longer used, remove it.

Change-Id: Ibd375bcd91900654315681f7f9b56bf100090942
CRs-Fixed: 2298895
2018-08-20 10:16:38 -07:00
Vignesh Viswanathan
21c58cb8c3 qcacld-3.0: Add MLME CFG items and APIs
Add the basic infra for MLME CFG items and the APIs to be used from
other components.

Change-Id: I39654de8f7266089d574b85437a19e8d21f91249
CRs-Fixed: 2293825
2018-08-20 05:29:46 -07:00
Qiwei Cai
16b98589f9 qcacld-3.0: Allocate csr_roam_roam_session dynamically
Allocate csr_roam_roam_session dynamically to reduce build size.

Change-Id: Ic11cc40ca47077ac18f944bd0e62b40e520b9b74
CRs-Fixed: 2290519
2018-08-16 00:47:53 -07:00
Qiwei Cai
7b9f9e5fe2 qcacld-3.0: Allocate sme_qos_cb dynamically
Allocate sme_qos_cb dynamically to reduce build size.

Change-Id: Ia51b9b6b96fb239198fcab256b955cd4a4b4da5f
CRs-Fixed: 2290541
2018-08-14 23:32:52 -07:00
Dustin Brown
6a8d39b6ed qcacld-3.0: Reduce excessive logging
Reduce or removed several excessive log in order to avoid spamming
dmesg.

Change-Id: I818c8f88f66ad11a3c3bc5d5a12799e83c02e5ff
CRs-Fixed: 2296680
2018-08-14 23:32:49 -07:00
Nirav Shah
e6194ac8ad qcacld-3.0: Update data path statistics log level
Do not required to print function and line number
for data path statistics function which is invoked
by ioctl.
Change data path statistics to info print so
that it can be printed in dmesg as well.

Change-Id: I4b5ea4202255ace71dbb6f9a4bbff6f93e496425
CRs-Fixed: 2278885
2018-08-14 02:15:39 -07:00
Qiwei Cai
e689a26cd8 qcacld-3.0: Featurize some vendor commands
Featurize some vendor commands to compile out when not needed.

Change-Id: I6757b5764930efbd9cd1c7ab74e5990e96267421
CRs-Fixed: 2270461
2018-08-13 23:15:17 -07:00
Abhishek Singh
809c41a5f6 qcacld-3.0: Reset wait for key before sending close session
If wait for key is set during close session, the request is dropped
in CSR and thus during SSR the BSS peer and SELF peer are not
deleted resulting in peer leakage.

Fix this by resetting wait for key before sending close session.

Change-Id: I139640ad5ad473372bce24413f7ace1cef32fbc3
CRs-Fixed: 2294417
2018-08-11 06:18:07 -07:00
Pragaspathi Thilagaraj
ad7a5f5b3c qcacld-3.0: Remove e_sme_delete_sta_session from active command list
The command e_sme_delete_sta_session command is serialized and
is not removed from the active command list in the response path
at csr_process_del_sta_session_rsp().

Remove the command e_sme_delete_sta_session from active command
list in csr_process_del_sta_session_rsp

Change-Id: Iff36460055bd73705575110d88c3eb75c8052afa
CRs-Fixed: 2292607
2018-08-10 18:11:03 -07:00
Vignesh Viswanathan
f9a704c92a qcacld-3.0: Add support for 1x1 connect with 1 Tx/Rx Chain action OUI
Add support for new 1x1 connect with 1 Tx/Rx Chain action OUI to be
parsed and sent to the FW. From host during connection, the behaviour
is same as existing connect 1x1 action OUI where nss is sent to 1 to
the FW, but the FW takes the decision to use only one Tx/Rx chain
based on the OUIs defined in the new action ID.

Change-Id: Ia464209043dc73bcc71577c43b28fbe13e780c23
CRs-Fixed: 2264326
2018-08-09 14:34:02 -07:00
Vignesh Viswanathan
3d47803b30 qcacld-3.0: Stop Roaming before handing CSA for STA
Currently if the FW sends a Roam Start while the host is handling the
CSA Offload event and triggering a vdev_restart, the FW asserts
when the it receives the vdev_restart as it has already started the
Roam.

Disable roaming by sending RSO Stop when the CSA offload event is
received from the FW and restart RSO when channel switch is complete.

Change-ID: I33e9ce6307bc36994eb5f4a99434cb76ce5d3184
CRs-Fixed: 2289047
2018-08-09 08:49:24 -07:00
Jeff Johnson
1148cb0bb2 qcacld-3.0: Refine the extscan start BSSID hotlist logic
Make the following updates to the extscan start BSSID hotlist logic:
1) Exclusively use the Unified WMI data structures.
2) Use the new wmi_unified_extscan_start_hotlist_monitor_cmd() API.
3) Update the HDD<=>SME interface to enforce the contract that SME
   must not make any assumptions about the buffers provided by HDD.

Change-Id: I4d9f982177bc61a751ba0e7437fe55482dfd2723
CRs-Fixed: 2291946
2018-08-09 04:24:06 -07:00
Dustin Brown
1e3ec6b86d qcacld-3.0: Reduce logs with high occurrence
Several logs show up repeatedly in dmesg. Reduce the following logs to
help avoid spamming dmesg:
 * wlan_ipa_wdi_meter_notifier_cb()
 * hdd_print_netdev_txq_status()
 * hdd_wlan_start_modules()
 * hdd_wlan_stop_modules()
 * csr_nonscan_pending_ll_peek_head()
 * sme_qos_statustype()

Change-Id: Ic5ca059f258dee92ffaa4b0ecca47df41b424c11
CRs-Fixed: 2292710
2018-08-07 22:35:41 -07:00
Tushnim Bhattacharyya
3f78053b87 qcacld-3.0: Do HW mode change based on all the candidate APs for STA
The driver currently changes the hw_mode based upon
the first candidate found in the scan list, and tries
to connect to it. It may happen that the connection
fails, and the STA then tries to connect to the AP
on same channel as the concurrent adapter.
It would result in hw_mode = DBS, as it is not
updated after  connection success/failure.
Also if the first AP channel is in same band as that
of concurrent adapter, and the connection fails,
and the STA tries to connect to an AP in a different
band, this too is not allowed as hw_mode is not DBS

Fix is to change the hw_mode based upon the scan list.
If the driver finds any scan result which may lead to
DBS connection, the hw_mode should be set to DBS.
Once the connection is done or failed, the driver
can check and update the hw_mode again.

Change-Id: I42ffe0c63371e048771e2b9b00b887e9c6c65d6c
CRs-Fixed: 2288572
2018-08-07 18:10:26 -07:00
Yeshwanth Sriram Guntuka
6c909ebd44 qcacld-3.0: Avoid queuing multiple WM status change cmd for same peer
In SAP mode, one peer sends multiple deauth frames which
results in queuing multiple WM status change cmd which
is added at head of queue. WM status change cmd is added
at head of queue for other peers which results in delay
in processing the cmd for first peer. The WM status cmd
is processed and peer is deleted and connection is
initiated by the same peer. The remaining WM status change
cmd is now processed and del_sta is triggered. On receiving
del_sta response, cleanup_trigger in sta_ds is checked
and eWNI_SME_DISASSOC_RSP message is posted to SME instead
of eWNI_SME_DISCONNECT_DONE_IND since the sta_ds entry is
added newly. This will result in active command timeout
since WM status change cmd is not removed from active queue.

Fix is to drop deauth or disassoc frame after the first one
is processed and use normal priority to queue WM status
change cmd.

Change-Id: Ib87fa7496d4adb6e25c30de657ce62101ca6f263
CRs-Fixed: 2291442
2018-08-07 15:57:28 -07:00
Vignesh Viswanathan
d5a5f2e278 qcacld-3.0: Add support for OUI framework during join request in CSR
Add support to use the action OUI framework to identify vendor APs from
the ini and apply vendor AP specific WARs during CSR join request.

Change-Id: Icb6742bfeb9515c11d61034b795b95b92e833b64
CRs-Fixed: 2254532
2018-08-07 08:41:18 -07:00
Nirav Shah
6a17618a8a qcacld-3.0: Replace MAX_SME_SESSIONS macro to SIR_MAX_SUPPORTED_BSS
Use SIR_MAX_SUPPORTED_BSS macro to decide max number of SME sessions
to avoid timer leak issue as SIR_MAX_SUPPORTED_BSS can be
configured through kbuild.

Change-Id: I86377d43ceb1b5cfcaa7c17a15a4fb300b79246b
CRs-Fixed: 2288864
2018-08-07 02:19:15 -07:00
Nirav Shah
575282cd60 qcacld-3.0: Featurize DSRC(802.11p) implementation
Featurize DSRC(802.11p) implementation

Change-Id: I64baee9d26b2300b7a7282ad2eff031c0b02b0b2
CRs-Fixed: 2287352
2018-08-06 04:21:21 -07:00
Kiran Kumar Lokere
8dba1899b8 qcacld-3.0: Fix the issue with HE MCS cfg with Nss setting
When the Nss is set to 2,MCS0-11 is used as default HE MCS config
for 2x2 mode which may not be same as 1x1 HE MCS config.
Use the 1x1 MCS config for Nss setting to 2 to keep the MCS
config same for both streams.

Change-Id: I76157357667696979976983e81f014182dfe769e
CRs-Fixed: 2284467
2018-08-02 18:29:55 -07:00
Kiran Kumar Lokere
86e855955c qcacld-3.0: Set the TxBF CBF frame rate with NSTS setting
Set the TxBF CBF frame rates to FW with user NSTS configuration
setting.

Change-Id: I553c253bddb695f5c61d889cd7ef57694d00954f
CRs-Fixed: 2281265
2018-08-01 20:37:24 -07:00
Pragaspathi Thilagaraj
7dba4a7af8 qcacld-3.0: Remove csr_release_command_roam call in csr_roam_issue_connect
In the function csr_queue_sme_command, we memset the memory for
the roam command to 0 in case of failure and release the memory
to the global command pool. But in csr_roam_issue_connect,
csr_release_command_roam is called again in case of failure,
and this can lead to memset of memory to 0 that is released to
global command pool.

Remove the redundant csr_release_command_roam in the function
csr_roam_issue_connect and the call to csr_reinit_preauth_cmd in
csr_roam_enqueue_preauth.

Change-Id: Ifab3551dd3b2dbb2d135b5488f7b09f422648abb
CRs-Fixed: 2280904
2018-07-30 18:26:24 -07:00
Jianmin Zhu
a0d8e00d02 qcacld-3.0: Fix double free in csr_roaming_state_config_cnf_processor
The beacon ie of AP to connect in sme cmd may be freed and set to
NULL in csr_roam if csr_roam_issue_join failed,
scan_result->Result.pvIes may be different in start and end of
csr_roaming_state_config_cnf_processor.

Fixed by using a local bool val to mark whether beacon ie is new
malloced and need free.

Change-Id: I04ec952273a28a3b8a215dd6812bba213ff5309a
CRs-Fixed: 2284311
2018-07-30 09:53:10 -07:00
Dundi Raviteja
e232cf1691 qcacld-3.0: Use request manager framework for LL stats response event
We are transitioning the usage of LL stats response event
to request manager framework.

Change-Id: Ice8b3d53beb47b345ed569f2b4bf790e9f5ce506
CRs-Fixed: 2274933
2018-07-30 02:53:31 -07:00
Nirav Shah
790d943594 qcacld-3.0: Add per module logging macros without function/line info
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.

Change-Id: Id808fef623b82cec38fc31071ef384f3ff0c92da
CRs-Fixed: 2278874
2018-07-27 09:09:42 -07:00
Pragaspathi Thilagaraj
b37dad385f qcacld-3.0: Serialize the command eSmeCommandDelStaSession
The command eSmeCommandDelStaSession issues vdev delete to
firmware. As this command eSmeCommandDelStaSession is not
serialized, this may issue delete vdev before the peers for the
vdev are deleted, resulting in fw assert. Serialization should
be brought in for this command, so that first eSmeCommandRoam
command will do vdev_stop-->remove_peer-->vdev_down and then
eSmeCommandDelStaSession will be processed which will send vdev
delete.

Post the command eSmeCommandDelStaSession to the serialization
module and WMA_DEL_STA_SELF_REQ will be posted from the sme
eSmeCommandDelStaSession handler.

Change-Id: I60fcbf622b961162c647db3638b5e019c5231971
CRs-Fixed: 2270982
2018-07-26 15:36:53 -07:00
Nirav Shah
d6fa0f8cd8 qcacld-3.0: Add compilation flag for enter/exit macros
Map all enter/exit log macros to enter/exit QDF TRACE macro
to provide option to compile out enter/exit logs if required.

Change-Id: I0c6cd633705e820fcfeb47e3f81a3522c9ef1974
CRs-Fixed: 2274850
2018-07-25 09:40:33 -07:00
Jeff Johnson
62cd6803a7 qcacld-3.0: Remove tHalStopType
There are multiple places where a tHalStopType parameter is passed but
unused. This is a historical artifact, so remove all instances of it.

Change-Id: Iebcbbac580495a376b7456b3a2901f33c2474f83
CRs-Fixed: 2283460
2018-07-24 15:10:49 -07:00