Commit Graph

300 Commits

Author SHA1 Message Date
Srikanth Marepalli
f8d599b48d qcacld-3.0: Add INI support for DFS Channel Ageout Time
Add ini support for DFS Channel Ageout Time, the time upto which
DFS channel information such as beacon found is remembered.
This ini is used to set the ageout timer value from host to FW.
If not set, FW will disable ageout time.
This value is sent as a WMI_PDEV_PARAM_SET_DFS_CHAN_AGEOUT_TIME
as part of WMI_PDEV_SET_PARAM_CMDID.

Change-Id: I99553fa87a4025f03c52b4b387a414ba06c2c457
CRs-Fixed: 2625996
2020-03-06 02:41:16 -08:00
Paul Zhang
7fb245481a qcacld-3.0: revise comment for ignore_fw_reg_offload_ind
ignore_fw_reg_offload_ind is used to ignore regdb offload
indication from FW and regulatory is treated as non offload.

Change-Id: Ic9a47fe3ec49cf1fa9cbf7ab166decdc4ece0511
CRs-Fixed: 2630994
2020-03-02 20:26:45 -08:00
Pragaspathi Thilagaraj
63eb6363dc qcacld-3.0: Introduce ini for roam_triggers including sta kickout trigger
Introduce ini for roaming_triggers to enable/disable specific
roaming triggers. This will be the master ini to control roaming
triggers. If this ini is set to zero, roaming will not be enabled
on the sta interface unless its enabled via vendor command.
A new roaming trigger - Sta kickout roaming is introduced in
firmware, include this bit support also in the ini.

The value of this ini will be sent over the wmi command
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID during RSO start.
Reset this value to 0 during RSO stop if RSO stop is due to
disconnect or roam synch failure.

Change-Id: I02f207cdde9d8fb68cd91fab07572baa9e7ac50d
CRs-Fixed: 2631712
2020-03-02 19:12:34 +05:30
sheenam monga
cc1b25f607 qcacld-3.0: Introduce a new ini to enable/diasble roam reason vsie
Introduce an INI "enable_roam_reason_vsie" to inidicate fw to
include/exculde roam reason vsie in reassoc frame

Change-Id: I4d2a44812d8b11a19b0d7d31eb31c826aaeda79d
CRs-Fixed: 2627472
2020-02-29 05:21:03 -08:00
sheenam monga
56b4d46146 qcacld-3.0: Include/Exclude roam reason dynamically in reassoc frame
Currently, if roaming happens roam reason is not sent to AP. AP will
not able to know why roaming happened. As roaming is offloaded to
firmware, firmware will include roam reason vsie based on driver
indication by vdev param
WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE based on
below conditions:

Parse the QCA attribute CONFIG_ROAM_REASON to control
inclusion/exculsion of roam reason vsie dynamically. Vendor subcommand
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION can control roam
reason vsie inclusion using QCA atrribute CONFIG_ROAM_REASON.
Different operations required to implement this feature can be
specified in QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON, so driver parses
CONFIG_ROAM_REASON, updates enable_roam_reason_vsie and indicates to
firmware by updating vdev param.

a.) If Userspace wants the firmware to include roam reason in reassoc
    frame, it can send QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON with
    value 1 and driver will update enable_roam_reason_vsie  to 1.
    Driver will update vdev parameter
    WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE, so that firmware
    can include roam reason vsie in reassoc frame during roaming.
b.) If this command is not issued, the default behavior of the
    firmware is not to include err reason code in beacon report
    response. Driver will send default value of
    enable_roam_reason_vsie to firmware which is 0.
c.) The userspace requests the firmware to stop roam reason vsie
    reporting when roam reason is not required for AP anymore. If
    userspace doesn't want the roam reason  inclusion, userspace can
    send QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON with value 0 and
    driver will update enable_roam_reason_vsie and notify firmware to
    exclude roam reason.
If userspace requests the driver to get the status of
enable_roam_reason_vsie , to check whether firmware includes roam
reason vsie or not, driver will fill CONFIG_ROAM_REASON attribute and
will update to userspace.

Change-Id: I063c822e99fd6908bd4188b429ffa6a2031cee5d
CRs-Fixed: 2624713
2020-02-29 05:20:40 -08:00
Abhinav Kumar
267ed0068e qcacld-3.0: Clear same pmk info while processing del/flush pmk
Clear sae_single_pmk info while processing del/flush pmk command
from supplicant, if required.

Change-Id: Idd974822ef0426461cd9971e54d8244d64b246b5
CRs-Fixed: 2616036
2020-02-26 06:41:25 -08:00
Abhinav Kumar
8747fd098c qcacld-3.0: Update sae_single_pmk info in RSO start command
Requirement is to allow station to just keeps only one
PMK1 and PMKID1 which gets derived while first connection
and re-use it for roaming to other AP which has some
specific VSIE.

To support this feature, STA should Set new flag in 11i
params during RSO start/update when initial connection is
completed based on the VSIE in AP beacon/probe response
frame. This flag will allow fw to roam to AP(s) which has
VSIE with single PMK.

Update PMK info in RSO start command with
sae_single_pmk info if initial connection is completed
with AP contains VSIE.

Change-Id: I839b48da48f92f24444e69405d87560186d7f986
CRs-Fixed: 2616029
2020-02-26 06:40:55 -08:00
Abhinav Kumar
c71e678b18 qcacld-3.0: Add support for sae roaming with single PMK
Requirement is to allow station to just keeps only one
PMK1 and PMKID1 which gets derived while first connection
and re-use it for roaming to other AP which has some
specific VSIE.

To support this feature, STA should:
1. Set new flag in 11i params during RSO start/update when
initial connection is completed based on the VSIE in AP
beacon/probe response frame. This flag will allow fw to roam
to AP(s) which has VSIE with single PMK.
2. STA should dynamically enable this feature if below
vendor specific IE on AP’s Beacon or Probe Response at
the first connection:
Category 	Data
Type 		0xDD
Length 		0x05
OUI 		0x00 40 96
Type 		0x03
Data 		Don’t care
		(EX, 0x05)

Maintain a separate pmk information structure to support sae
roaming using single pmk.

Change-Id: I0aac7659cecd4d8aaff86c9715e512cf46f22615
CRs-Fixed: 2616035
2020-02-26 06:40:44 -08:00
Abhinav Kumar
86afc8fbc4 qcacld-3.0: Optimize logs after connect complete
Optimize logs after connect complete i.e roam offload params
and tdls state etc.

Change-Id: I5df7eb236ef1c7369f4d996c4f0eda7225652f12
CRs-Fixed: 2627694
2020-02-25 03:00:49 -08:00
Srinivas Dasari
fc3aea42ea qcacld-3.0: Send assoc request IEs in STA_INFO in SAP mode
Userspace expects the assoc request IEs of a disconnected station
to derive 11kv capabilities. Send the same in STA_INFO as part
of remote station info.

Change-Id: Iab5f39de833cd06e814e83f0149a0d21caf59b9f
CRs-Fixed: 2624922
2020-02-24 04:32:26 -08:00
Abhinav Kumar
406cfe0ee4 qcacld-3.0: Introduce a new compile time flag and INI
Introduce a compile time flag SAE_SINGLE_PMK and new INI
"sae_same_pmk_feature_enabled" to enable/disable SAE
Roaming with same PMK/PMKID feature.

Change-Id: Ifca8ec8bcf6e9a2f1d8409b35390bfee0033bd30
CRs-Fixed: 2616025
2020-02-23 14:43:08 -08:00
Abhishek Ambure
83c11be72e qcacld-3.0: Add support to configure candidate min roam score delta
During CU and low rssi based roam triggers, consider AP as roam candidate
only if its roam score is better than connected AP score by at least
min_roam_score_delta.

User configures this candidate minimum roam score delta value using
"min_roam_score_delta" INI. User can set candidate minimum score delta
value between 0 to 10000 and default value is 1850.

Firmware will trigger roaming only if roam score of candidate AP is
greater than "min_roam_score_delta" & "roam_score_delta" values of
connected AP.

Change-Id: I180e769b5629aa405dbd89ed73e39e228adf92db
CRS-Fixed: 2614117
2020-02-15 20:28:04 -08:00
Srinivas Dasari
644dbc18c1 qcacld-3.0: Add reason codes for internal disconnections
Currently, host driver sends disconnect reason code as UNSPECIFIED
to kernel in most of the disconnection scenarios. Correct the same
to send proper reason code received from peer in case of peer
initiated disconnections.
Introduce new reason codes for internal disconnections and assign
proper reason code for each possible disconnect scenario.

Change-Id: I99bf4573b59dc810e0a1529fcd48061d10acae4e
CRs-Fixed: 2622310
2020-02-15 08:45:08 -08:00
Srinivas Dasari
4a63e6fdbb qcacld-3.0: Move disconnect ie info to a structure
Move disconnect ie info to a structure (wlan_disconnect_info)
and use it in mlme_legacy_priv. This helps to enhance the
structure further.

Change-Id: Id16e7eeb45a3f4c2fefac297f6730baf6b9e8991
CRs-Fixed: 2621149
2020-02-14 13:34:37 -08:00
Sourav Mohapatra
eb7227cc06 qcacld-3.0: Add param to configure channel avoidance indication from FW
Currently, when WWAN channel changes, the list of WLAN channels that
needs to be avoided is given to WLAN FW. WLAN FW indicates the list
to host. Upon receiving Channel avoidance indication, host switches
the operating-channel of SAP (if any and conflicting).

When there is a frequent channel change from WWAN side, it causes
frequent SAP disconnection. To mitigate this problem, as part of
this change send the configuration to the WLAN FW which delays
the channel avoidance indication before sending it to host.

Change-Id: If67775d59b9f61d3592a5f6609d3b002899e5daf
CRs-Fixed: 2615917
2020-02-14 09:01:44 -08:00
Abhishek Ambure
b3f5f95275 qcacld-3.0: Change default value of idle_roam_rssi_delta to 3
idle_roam_rssi_delta - This threshold is the criteria to decide whether
DUT is idle or moving. If rssi delta is more than configured thresold
then its considered as not idle. RSSI delta is entered in dBm. Idle
roaming can be triggered if the connected AP rssi change exceeds or
falls below the rssi delta and if other criteria of ini
"enable_idle_roam" is met.

To enhance idle roaming, idle_roam_rssi_delta default value is changed
to 3.

Change-Id: I9a5b06081d59d8502c40df0485c2b997cbcb2b80
CRs-Fixed: 2619436
2020-02-11 11:04:41 -08:00
Bapiraju Alla
dfd1ba0a7e qcacld-3.0: Change STA default keep alive time from 60 to 30
AP has less keep alive timer than STA, so AP is kicking out the STA and
sending the deauth.

To resolve this change CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT value from
60 to 30.

Change-Id: I0522071bc634b029178de6e09c11d237351a334d
CRs-Fixed: 2616279
2020-02-11 04:14:21 -08:00
Alok Kumar
a73938f684 qcacld-3.0: Disable peer_unmap_conf_support for FTM mode
In FTM mode, no peer is created in the host. Currently, since
peer_unmap_conf_support feature is enabled, FW is expecting
WMA_SEND_PEER_UNMAP_CONF from host to remove the peer Id from AST.
But host never send this WMI CMD in FTM mode.

Disable peer_unmap_conf_support in FTM mode which allow FW to
delete the peer Id without any WMI CMD expectation from host.

Change-Id: Idf9082adc81187346563f3aedf1f1657164f03cc
CRs-Fixed: 2608929
2020-01-30 17:59:38 -08:00
Abhishek Ambure
2372a9054d qcacld-3.0: Set max limit of RoamRssiDiff INI to 100
STA considers RSSI delta configured by the user along with other
parameters for roaming.

RoamRssiDiff is the number of units (typically measured in dB) AP2 is
better than AP1. STA roams from connected AP1 to AP2 if the RSSI value
of AP2 is greater than AP1 by configured ROAM delta value.

Max limit of RoamRssiDiff is increased to 100 from 30, so user can set
roam delta from 0 to 100 using command SETROAMDELTA.

Change-Id: I69b783ebe5ec971bb62cbac8a34065d52fc25422
CRs-Fixed: 2609589
2020-01-24 21:29:10 -08:00
Pragaspathi Thilagaraj
b2e6d8964f qcacld-3.0: Update roam failure reason string
Update the mlme_get_roam_fail_reason_str() to return
correct string for new roam failure reason enums added.

Change-Id: I24983149fdcd8a0935eea9670832944638c33179
CRs-Fixed: 2607545
2020-01-24 18:43:39 -08:00
Arun Kumar Khandavalli
32a9096941 qcacld-3.0: selectively reduce the mlme logs
Seletively reduce the mlme component logs from info to debug.

Change-Id: If31157aef1eba8fcd8bee5c654a9e87f4437cc95
CRs-Fixed: 2607165
2020-01-24 03:50:13 -08:00
Abhishek Singh
81df27d0ce qcacld-3.0: Remove unused crypto params
Remove unused crypto params from wma and peer mlme priv.

Change-Id: I85b4ba0e31b268e98be0afd15637ed3f704b39ac
CRs-Fixed: 2604383
2020-01-17 10:20:00 -08:00
Abhishek Ambure
4706d0fe80 qcacld-3.0: Add INI to disable 6ghz support for oem
6Ghz channels information is not used by legacy OEM apps example
"lowi-server" having no support for 6Ghz channels.

Hence "oem_6g_support_disable" INI is added. By default INI value is
1. 6Ghz supported OEM applications sets INI value to 0 and gets 6Ghz
channel information from driver.

Change-Id: I2650e6ad2976b64e46ab0143b2bafc2df2343e94
CRs-Fixed: 2597651
2020-01-16 00:49:13 -08:00
Amruta Kulkarni
f63bcbe4e3 qcacld-3.0: Reduce mlme logging level from err to debug
In wlan_mlme_configure_chain_mask(),mlme_legacy_err is
updated to mlme_legacy_debug,as its not an error condition.

Change-Id: Ibdf33124ee970bcfcc9d57df9f3b3fc6990072fe
CRs-Fixed: 2599510
2020-01-15 08:19:06 -08:00
sheenam monga
1fa0514eb7 qcacld-3.0: Fix sta_ds use after free
lim_is_pkt_candidate_for_drop() uses sta_ds to update last assoc
and deauth/disasocc received time without taking any lock for
sta_ds. deletion of sta_ds in pe_delete_session before accessing
sta_ds in dph_lookup_hash_entry can lead lead to Assert.
Similar is the case with sta_ds->last_assoc_received_time and
sta_ds->last_disassoc_deauth_received_time.

Fix is to use peer_priv instead of sta_ds and update
last_assoc_received_time and last_disassoc_deauth_received_time of
peer_mlme_priv_obj. In this case refcount gets increased for valid
peer and peer won't be deleted until lim_is_pkt_candidate_for_drop
releases the ref count of the peer.

Change-Id: I9daf31f9dd7b509eaf38a93078bb7418605b1c74
CRs-Fixed: 2598841
2020-01-11 17:53:06 -08:00
Kiran Kumar Lokere
4dd5c4f06b qcacld-3.0: Set the default SW retry limit value to 16
Set the default software retry limit value to 16 and fix the typo
in configuring the non aggregation software retry limit.

Change-Id: Ia6ef7cc39f47ef91c2c338e48561e0275445750f
CRs-Fixed: 2599467
2020-01-11 01:50:08 -08:00
Yue Ma
e5a28495ab qcacld-3.0: Cleanup CRYPTO_SET_KEY_CONVERGED for MAC layer
CRYPTO_SET_KEY_CONVERGED is a temporary flag which is used for
converged crypto component transition. The transition has already
been done, so cleanup legacy code related to the flag in MAC layer.

Change-Id: I34fb7a6a67dd6dba3fa69c98ef10a1bd51383e36
CRs-fixed: 2593525
2020-01-09 20:21:42 -08:00
Sandeep Puligilla
511c6e2402 qcacld-3.0: Add ini support to control 6G SAP fils disc
6Ghz SAP needs to send either a probe response or fils
discovery at every 20ms.

Add a new ini to configure the probe response or
fils discovery frame.

enable_6g_sap_fils_discovery=1 sends fils discovery frame
at every 20ms.
enable_6g_sap_fils_discovery=0 sends probe response frame
at every 20ms

Change-Id: I6c5fb339135cf11be071d73970ea3704441380eb
CRs-Fixed: 2586524
2020-01-07 00:41:09 -08:00
Pragaspathi Thilagaraj
71a1fa4ca0 qcacld-3.0: Add diag log support to print roaming related stats
When roaming is complete, firmware sends WMI_ROAM_STATS_EVENTID
to host driver. This event has details regarding the roam
trigger reason, roam scan and candidate details, roaming result
and 11kv info sent after roaming to AP. Parse this event and
fill the below diag log report to print this in logcat:
LOG_WLAN_AUTH_ASSOC_TX_RX_INFO
LOG_WLAN_ROAM_TRIGGER_INFO
LOG_WLAN_ROAM_SCAN_INFO
LOG_WLAN_ROAM_RESULT_INFO
LOG_WLAN_RRM_TX_RX_INFO

Change-Id: Ie09dc8ad5b236d0925327dba73a3f2e73a80109a
CRs-Fixed: 2597057
2020-01-06 20:35:43 -08:00
Srinivas Dasari
baff7dc092 qcacld-3.0: Create an iface for NAN discovery in driver init
Currently, framework issues NAN commands on station interface.
But when connection happens, framework does interface down and
up on the station interface due to MAC randomization. This
terminates all of the NAN operations.
So NAN discovery needs a separate interface to avoid dependency
on the station interface. Create an interface "wifi-aware0"
of type NL80211_IFTYPE_NAN based on the firmware capability
and register to kernel.
Framework issues "IF UP" on the new NAN discovery interface when
it enables NAN. Driver shall create vdev and send VDEV_CREATE
command to firmware for the same. Framework shall issue all
NAN discovery commands on this new interface. Driver shall use
NAN vdev for these NAN operations.
Framework shall do "IF DOWN" once the NAN operations
are done(Ex: up on NAN disable).

Change-Id: Ifd1e1ab5ed64cd97edb00e793214edd2a2365274
CRs-Fixed: 2592020
2020-01-01 18:23:50 -08:00
sheenam monga
63736f6880 qcacld-3.0: Add ini support to enable/disable ring buffer
Currently, There is no support to disable ring buffer. Each Ring
buffers is using 2MB and overall 10MB is consumed by 5 ring buffers.

Fix is to add ini support to enable/disable ring buffer.
Boolean ini CFG_ENABLE_RING_BUFFER is added. Default value of
gEnableRingBuffer is 1 which indicates that ring buffers are enabled
by default.

CRs-Fixed: 2592476
Change-Id: I30f95668de6df96e5c388e92e202f8c236132dc2
2019-12-26 06:06:53 -08:00
Abhinav Kumar
444a5ebc80 qcacld-3.0: Add ini support to skip full scan after bmiss
Currently, after FINAL_BMISS detection, FW does channel map
based partial scan followed by one full scan if no candidate
found in partial scan to ROAM to another available AP without
disconnection. This results in additional delay by HOST in
issuing disconnection after a heartbeat failure.

Add INI support (bmiss_skip_full_scan) to allow FW to decide
whether firmware does channel map based partial scan or partial
scan followed by full scan in case no candidate is found in
partial scan after final BMISS.

Change-Id: I48f9bb43bb7933e9ff173f618586ea5986530dcd
CRs-Fixed: 2578848
2019-12-17 00:12:04 -08:00
Gururaj Pandurangi
1e8f221be0 qcacld-3.0: Change config type of tx_bf_cap to uint
Change max value of tx_bf_cap to 4294967295 from -1
which is misconfigured. 4294967295 corresponds to
0xFFFFFFFF which is max value for 32 bit unsigned
int since this CFG item is getting used as part of
4 byte dot11f HT capability population.

Change-Id: Ifd0fea080dd9eb1f6995af0df20c68e3f73b891a
CRs-Fixed: 2581060
2019-12-16 21:15:23 -08:00
Pankaj Singh
f84a5dd718 qcacld-3.0: Fix connection latency situation in driver
In 11D scan procedure if WMI_11D_NEW_COUNTRY_EVENTID event is
received, host processes 11d new country code event.
Host driver as a response sends WMI_SCAN_CHAN_LIST_CMDID
new channel list cmd to firmware.

As a result the ongoing scan procedure is aborted by firmware,
and if the scan was a first scan for connection, then it would
lead to connection latency as the supplicant then have to
scan again.

Fix is to check if any scan is in progress, then delay
WMI_SCAN_CHAN_LIST_CMDID channel list command to FW till
the current scan is complete.

Change-Id: I4e747bb747c32430b5d8024823aa0df4928a8c71
CRs-Fixed: 2569741
2019-12-14 04:04:25 -08:00
sheenam monga
451c68c41a qcacld-3.0: Add ini support to configure MGMT retry limit
Currently, default MGMT retry limit is 4 which means 4
transmissions are supported for any management frame.
In noisy environment, Chances to get connection failure
are higher with 4 retransmissions.

Fix is to add INI support mgmt_retry_max to make
CFG_MGMT_RETRY_MAX configurable. Default value for
CFG_MGMT_RETRY_MAX is 15 to reduce the chances of connection
failure in noisy environment.

Change-Id: Id50cb68813fba517a8a1580a3d6662c73b0a381e
CRs-Fixed: 2575385
2019-12-13 11:51:36 +05:30
Pragaspathi Thilagaraj
5292e0ab83 qcacld-3.0: Handle WMI_ROAM_STATS_EVENTID from firmware
The event WMI_ROAM_STATS_EVENTID is received after
every roam, once the roam synch complete is sent by the host.
This event contains details regarding the roam trigger reason,
values associated with the trigger, roam scan candidate info,
roam status, roam failure reason.

This helps in debugging/understanding the scenario when roam
failure happens.

WMI_ROAM_STATS_EVENTID Format:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
roam_stats_event_fixed_param |-> Contains vdev id and number of
                             |   roams detail.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
roam_trigger data TLV        |-> Has details on the roam trigger
                             |   reason. Number of roam triggers
                             |   TLV detail is present in the
                             |   fixed param. Maximum 5 roam
                             |   per event is supported
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_scan_info TLV       |-> Has details on the roam scan -
                             |   scan type, rssi threshold,
                             |   reason.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_scan_channel_info   |-> Has details on the roam scan
TLV                          |   channels. Number of channels
                             |   per trigger is found on the
                             |   wmi_roam_scan_info TLV.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_ap_info TLV         |-> Has details on Roam candidate
                             |   APs found during scan. Number
                             |   of roam candidate APs per
                             |   trigger is found on the
                             |   on the wmi_roam_scan_info tlv.
                             |   Max 8 candidates are allowed
                             |   per roam scan.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_result TLV          |-> Info on roam success or failure.
                             |   Fail reason, if roaming failed.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_neighbor_report_info|->After roaming, firmware sends
TLV                          |  neighbor/btm report to roamed AP
                             |  to get list of roam candidates.
                             |  This tlv provides info on this.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_neighbor_channel_info|-> This has the info on the
                              |   channel list received as part
                              |   of BTM/Neighbor report.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Print the info received as part of this event into kmsg.
Featurize all the function defines for this roam logging under
WLAN_FEATURE_ROAM_OFFLOAD flag.

Change-Id: Iddc70b572f2e3dc47f08fd1c3c3597cb44981a17
CRs-Fixed: 2576222
2019-12-11 08:52:14 -08:00
gaurank kathpalia
0cecbd4d4e qcacld-3.0: Change the default value of normalize acs ini weight
Change the default value of normalize weight ini to
disable all non-PSC 6ghz channels for the SAP ACS
operation, and give weightage only to the PSC
frequencies.

Change-Id: I4c8f349a396ffe4a2f378a59f5a67036b9d573eb
CRs-Fixed: 2578824
2019-12-09 18:56:58 -08:00
Arun Kumar Khandavalli
efe77ff948 qcacld-3.0: Don't use vdev_mlme object in the vdev delete response
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: Idec5775f6c7ac767baedd173a7bde0d3a358d0fe
CRs-Fixed: 2563381
2019-12-05 23:53:40 -08:00
Bala Venkatesh
81281077ab qcacld-3.0: Remove the INI force_rsne_override
Currently, RSNE if given from userspace is overrided if the Ini
force_rsne_override is disabled as a security. But there
are sufficient checks already in kernel to validatethe RSNE
given by userspace. Hence this INI is no longer required.

Change-Id: Ifcc9298dcfa035d05e9ee4fb78a4fa2c9f249461
CRs-Fixed: 2573540
2019-12-05 16:38:44 -08:00
Kiran Kumar Lokere
571f0d3e65 qcacld-3.0: Add 80+80 restricted BW support
Add support for restricted 80+80 bandwidth in STA and SAP modes.

Change-Id: Id1a61b853584fa84db3bb8f0f2aaf68eecabeaac
CRs-Fixed: 2570023
2019-12-04 14:40:31 -08:00
Sourav Mohapatra
fab026a99a qcacld-3.0: Send RTT capability for STA mode
Based on the ini gfine_time_meas_cap, send enable/disable value to the
firmware for STA INITIATOR/RESPONDER mode using VDEV set param.

Change-Id: Idd4142e13061cd1af992bda88d0a0b81edc42fef
CRs-Fixed: 2574050
2019-12-03 13:10:29 -08:00
Liangwei Dong
d4a91a6f12 qcacld-3.0: Refine wma_get_caps_for_phyidx_hwmode
The current function doesn't handle "hw_mode" parameter.
And if band is specified the function needs to find the
correct "phy cap" in mac_phy_cap list.
The "supported_bands" can be a bit mask of
(WLAN_2G_CAPABILITY | WLAN_5G_CAPABILITY), use "&" to find
the phy cap of requested band.
Remove unused API wma_get_phyid_for_given_band.

Change-Id: I4b120d681b820e2a6e2b82f33d67fbcf6136af09
CRs-Fixed: 2571400
2019-11-26 22:00:17 -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
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
27f443e880 qcacld-3.0: Drive the self peer creation from the sme layer
Presently as part of the vdev creation the self peer for the vdev
is created in the object manager and in the firmware. The self
peer creation in the object manager needs the vdev to be in the
created state. As part of new changes to send the vdev create to
firmware as part of the vdev creation notification there will be
failure in creating in the self peer.

Hence, drive the self peer creation from the SME layer which will
create the vdev.

Change-Id: I0875f4ec5bd96438c0f21056e1d6920d3be2a177
CRs-Fixed: 2555868
2019-11-08 06:54:39 -08:00
Abhishek Singh
9fee518fe3 qcacld-3.0: Avoid calling wlan_hdd_set_mon_chan for STA mode
As part of Ie9ffc701d93ed1c050375dd56151b7a0da69cdce the STA mode
channel change was added in disconnected state for spectral scan
test at CV2X platform.

Now with iwpriv wlan0 setMonChan on STA mode, a monitor mode
pe_session is created in PE/LIM which take ref count with
WLAN_LEGACY_MAC_ID. As the interface is STA type this session
is not deleted when vdev is deleted. This lead to vdev ref leak.

This code is broken and is no longer in use and cause vdev
ref leak when executed. Thus revert
Ie9ffc701d93ed1c050375dd56151b7a0da69cdce.

Also move the lim session create to hdd_set_mon_rx_cb during
vdev create, as it is deleted during vdev delete.

Change-Id: Ib60aa2bd2746a8cd17f20efa7506c18784a42630
CRs-Fixed: 2557160
2019-11-02 12:25:34 -07:00
Amruta Kulkarni
5b738c23a3 qcacld-3.0: Remove wma_txrx_node params(tx_power,max_tx_power)
Target_if cleanup done for tx_power,max_tx_power params
 Use vdev_mlme_mgmt_generic params(tx_power,maxregpower) instead

Change-Id: I3dc30bbce0026dc88f83009671851a70c1495b30
CRs-Fixed: 2555402
2019-10-31 22:30:18 -07:00
Arun Kumar Khandavalli
a43590e897 qcacld-3.0: Move psoc object to common component
Move to the common psoc object and retrieve the cfg ini
information from the legacy implementation.

Change-Id: I38147c748796550f2adede44b681559a4f329fbf
CRs-Fixed: 2547536
2019-10-26 11:55:08 -07:00
Arun Kumar Khandavalli
bcd5634dae qcacld-3.0: Send the vdev create to firmware in the caller thread
Presently upon interface up a message is posted to the scheduler
to create the vdev, which sends the vdev create to the firmware,
for the vdev create there is no response from the firmware host
internally posts a fake message internally for the vdev create
response.

Dont post the vdev create to the scheduler thread but directly
send the vdev create to the firmware in the caller context.

Change-Id: Iafb186b13d948e421d152c3142cb8614fdbbffa6
CRs-Fixed: 2549530
2019-10-23 03:46:29 -07:00