Commit Graph

637 Commits

Author SHA1 Message Date
Varun Reddy Yeturu
c4631fb7f1 qcacld-3.0: Increase scan ageing value for emulation
Increase the scan ageing timer value from 30 seconds
to 90 seconds for the configuration item
gScanAgingTime

Change-Id: Ic4f87c20601f753c71710d20ed98bdb774538f82
CRs-Fixed: 2072461
2017-07-08 23:41:17 -07:00
Deepak Dhamdhere
612392c937 qcacld-3.0: Add .ini configuration for max number of AMSDU
qcacld-2.0 to qcacld-3.0 propagation

Host driver can send number of max AMSDUs in transmit frames.
Added a call to process_wma_set_command() similar to CLI
command processing for GEN_VDEV_PARAM_AMSDU during device
initialization.
Changed name of the field from isAmsduSupportInAMPDU to max_amsdu_num
in several places. Existing SME and LIM code passes this parameter
to WMA, but it is not used there. It may be useful if AMSDU setting
is changed to per-vdev basis in future.

WCNSS_qcom_cfg.ini changes:
Removed - "gAmsduSupportInAMPDU"
Added - Name = "gMaxAmsduNum", Min = 0, Max = 3, Default = 1

Actual function call to ol_txrx_aggr_cfg() send the parameters to
firmware is commented out because it is not implemented in firmware.

Change-Id: I2dfdd8c8c4a8807596ff28eee192ef66ac425653
CRs-Fixed: 871686
2017-07-08 13:41:35 -07:00
Hanumanth Reddy Pothula
90051789ab qcacld-3.0: Update valid rssi value to upper-layer
For a small window during roaming and new connection, there is a
possibility of firmware to send the invalid rssi value(other than
0-127), leading driver to send the same invalid rssi value to upper-layer.

To mitigate this issue:
1) Either send previous valid rssi value to upper-layer on receiving invalid
   rssi value from the firmware.
2) Or if previous rssi value is not valid, fetch rssi value from beacon frame
   of connected AP from scan cache.

Change-Id: I4443ed06cd80826ff386c2b4a536a2dc1a1e0881
CRs-Fixed: 2042747
2017-07-06 17:50:32 -07:00
Ashish Kumar Dhanotiya
9335d81f23 qcacld-3.0: Add host support to configure ITO repeat count
Add Host support to configure inactivity timeout repeated
count from ini.

Change-Id: I6b079ab55470838a9bf5488ec18dbd2977c3ee17
CRs-Fixed: 2066004
2017-07-05 05:50:39 -07:00
Naveen Rawat
247a868164 qcacld-3.0: Program num tx chains for 11abg to FW
Program num tx chains for 11abg FW via pdev params. This will
help enhance power save in firmware.

Change-Id: I1f5815f2914f65928f8f3d72e53d409ecf6d1fe7
CRs-Fixed: 2056531
2017-07-03 19:09:32 -07:00
Hanumanth Reddy Pothula
9c161dd8a7 qcacld-3.0: Add ini parm to control SAP restart on channel avoid indication
Restart SAP(P2P_GO) only if ini parameter, sap_restart_on_ch_avoid,
is set. By default its enabled.

Change-Id: I0aee79ba2d5e0cfa8a7b0c7b1901c61614944338
CRs-Fixed: 2023854
2017-07-03 18:24:47 -07:00
Ravi Kumar Bokka
91a8f3c649 qcacld-3.0: Remove obsolete McastBcastFilter ini feature
The McastBcastFilter configuration item is not being used, and support
is being dropped from the driver. Remove the McastBcastFilter setting
feature from the driver.

Change-Id: I6fc0e48e31c01ba2df73c51b3fd9ec2a84571541
CRs-Fixed: 2045284
2017-07-03 17:40:52 -07:00
Naveen Rawat
3ca28b0769 qcacld-3.0: Change max value of dropped packet threshold to 64k
Change number of dropped packet before kickout threshold to max
theoretical value of 65535.

Change-Id: I9b29e704460cfabdc346cda7ab4bc5f01ad5ea98
CRs-Fixed: 2029453
2017-06-29 19:45:36 -07:00
Yu Wang
04ccd76c41 qcacld-3.0: add support for time stamping netbuf
Map the input target time to host time, and
time stamp netbuf with this host time.

Change-Id: I1fb298615267bb11c4f21cabe670fd4c3a12a759
CRs-Fixed: 2057693
2017-06-29 03:44:41 -07:00
Yu Wang
000dc2f19c qcacld-3.0: add support for target-host synchronization
To map target time to host time, implement a timer
to capture TSF and host time periodically.
The timer will be started when connection state of
sta/p2p_gc being changed from not associated to
associated; and stopped when from associated to
not associated.

Change-Id: I697080b95f01f173beddc038ab9ad89ee394354b
CRs-Fixed: 2057693
2017-06-29 03:44:39 -07:00
Yu Wang
f5d5b5f5cc qcacld-3.0: enhance the robustness of TSF capturing
1. Failed to get TSF if issuing cap_tsf more
   than 1 time continuously, due to the TSF
   value will be reset by the following 'cap_tsf'
   command, however, these 'cap_tsf' won't be
   excuted actually, because 'get_tsf' was not
   received after last successful 'cap_tsf'.
   To fix it, do TSF reset only if 'cap_tsf'
   will be actually excuted.

2. Add flag 'cap_tsf_flag' to make sure cap_tsf
   being executed serially.

3. Add flag 'tsf_ready_flag' to indicate whether
   TSF feature has been initialized successfully.
   Add 'TSF_NOT_READY' in 'hdd_tsf_get_state' to
   indicate this state.

Propagated from qcacld-2.0

Change-Id: Ib768e3d7f0b33a75e8bd838d4ed1c0b84e3aa13d
CRs-Fixed: 2057693
2017-06-29 03:44:38 -07:00
Dustin Brown
732ab9c2c8 qcacld-3.0: add gEnableCckTxFirOverride ini item
When operating in an 802.11b mode, CCK TX FIR Override forces a 2x2
radio configuration into 1x for Tx and 2x for Rx (ie 1x2) for
regulatory compliance reasons. Add gEnableCckTxFirOverride to allow
this firmware feature to be enabled/disabled via ini configuration.

Change-Id: I359fc908fa27113e2500a28c343cf90dea518212
CRs-Fixed: 2062111
2017-06-28 18:19:06 -07:00
Ravi Kumar Bokka
05c14e5c50 qcacld-3.0: Auto Detect SoC Power Collapse Failure changes
Add host support for detecting SOC power collapse failures in FW and
communicating the same to framework.

Change-Id: Icee39c896802c4d7136e0b8ef442a33feeb4799c
CRs-Fixed: 1112979
2017-06-27 22:13:09 -07:00
Deepak Dhamdhere
828f189328 qcacld-3.0: Add support for PMKID modes of PMK caching and OKC
Convert the boolean variables used for tracking okc_enable into
separate bit flags for OKC and PMK caching. Firmware will also
add support for bitwise enablement of OKC and PMK caching in 802.11i
configuration part of RSO command.

CRs-Fixed: 2004963
Change-Id: Ib2fcdc6318adb488eca5cf47b2b59541020e6009
2017-06-26 11:58:01 -07:00
Manjunathappa Prakash
dab74fa881 qcacld-3.0: add ini option to enable orphan Tx packets
Add INI config option to enable orphaning of Tx packets.
Default is to disable orphaning.

Change-Id: Ib855d7ebf56fd3def1a2674091a188e8ecd729f2
CRs-Fixed: 2064079
2017-06-22 16:53:19 -07:00
Krishna Kumaar Natarajan
c7e2bb7c83 qcacld-3.0: Add support to read link layer stats via debugfs
Add support to read link layer stats via debugfs. This change set
will issue get_req and store the received stats response is debugfs
entry.

Change-Id: If3af9f0a37283583ff011e35c7275a329a6e175d
CRs-Fixed: 2018087
2017-06-22 11:47:49 -07:00
Sravan Kumar Kairam
71121713be qcacld-3.0: At interface down disconnect IPA WDI pipes
Currently IPA WDI TX and RX pipes are set up when the interface is
up but during interface down there is no disconnect of the IPA WDI
pipes. So again when interface up after interface down IPA driver
returns error that endpoints are already have allocated. As a result
the TX and RX WDI pipe handle values will be zero which is invalid.

In this change disconnect WDI pipes at interface down instead of
during wlan exit or ssr deinit.

Change-Id: I1fb7520467f1b5a6c43bab3b16b002fa0f534d75
CRs-fixed: 2033329
2017-06-22 05:53:00 -07:00
Zhu Jianmin
04392c461d qcacld-3.0: Optimize ping latency
If tx frame is ICMP packet, disable bmps for N seconds to avoid
latency of waking up from bmps.

Change-Id: I91f7748bfca81524637e0e4cc39ace5abf53f7dc
CRs-Fixed: 2044602
2017-06-22 04:38:32 -07:00
Selvaraj, Sridhar
0641fabce5 qcacld-3.0: Add INI to configure min rssi for roamable AP in PER Roam
Add INI "gper_min_rssi_threshold_for_roam" to configure the minimum
RSSI required for AP candidate to roam in PER based roaming.

Change-Id: I5549c44d2dffb20e92923d3b62e08b94b7a87c9d
CRs-Fixed: 2048414
2017-06-22 03:58:05 -07:00
hqu
6153382fae qcacld-3.0: Distinguish wlan target defaut config in wlan_hdd_main.h
Use macro CONFIG_HL_SUPPORT to do conditional compilation in
wlan_hdd_main.h, it can distinguish HL target from other target
so that it will use different wlan target defaut config.

Change-Id: Ia33cd336de34c17b73909b671c83e304def3d74b
CRs-Fixed: 2063356
2017-06-20 21:34:20 -07:00
Kapil Gupta
63e7528680 qcacld-3.0: Correct vendor attribute for external ACS
Add changes to correct vendor attribute to support external
ACS as defined in qca-vendor-copy.h

Change-Id: Ia09638f59aeea4d87bbd6d4f9ab03210a213a132
CRs-Fixed: 2049157
2017-06-20 17:52:13 -07:00
Abhishek Singh
533c9da880 qcacld-3.0: Wait for roam to get stopped during disconnect
In case roaming was in progress when hdd_disconnect was called, avoid
defer disconnect as that will call hdd api in mcthread which waits on
event for about 5 seconds thus blocking everything. Also defer disconnect
makes supplicant and driver state go out of sync. Rather wait in hdd
for roaming to complete and then issue disconnect keeping state simple
and clean

Change-Id: I1b971226187892f32eb493047c13353bb0d1c867
CRs-Fixed: 2042394
2017-06-20 16:17:39 -07:00
Ashish Kumar Dhanotiya
470af29603 qcacld-3.0: Add ini support to disable scan in connected state
Currently there is no ini parameter to disable the scanning if
the device is already connected.

Add ini parameter to support this feature.

Change-Id: I0f57be99ea335823c30a058d166b126d787e4461
CRs-Fixed: 2054521
2017-06-20 05:51:16 -07:00
Rajeev Kumar
67f5b87203 qcacld-3.0: Fix buffer overread & overflow in P2P LO handler
Currently in __wlan_hdd_cfg80211_p2p_lo_start() there are multiple
issues with the incoming cfg80211 vendor command handling:
1) A policy is not supplied when invoking nla_parse() which prevents
   basic sanity of the incoming attribute stream.
2) The length of attribute QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_DEVICE_TYPES
   is not properly validated.
3) The length of attribute QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_VENDOR_IE
   is not properly validated.

To address these issues:
1) Create an appropriate nla_policy and specify this policy when
   invoking nla_parse().
2) Validate the length of QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_DEVICE_TYPES
   properly to prevent potential over read.
3) Validate the length of QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_VENDOR_IE
   properly to prevent potential over read.

Change-Id: I0a76dad8cccc6158f7ef3da293a6462acd839bfb
CRs-Fixed: 2054755
2017-06-18 14:36:59 -07:00
Dustin Brown
ceed67eebf qcacld-3.0: Hold wake lock for connection attempt
Hold a short wake lock when a connection attempt is made to help ensure
the device does not power collapse in the middle.

Change-Id: Ia9e20df5481340224fa4c272b58152eec27790a9
CRs-Fixed: 2053126
2017-06-14 15:53:44 -07:00
Nitesh Shah
f9a09ff89a qcacld-3.0: Send DBS Scan selection policy command to WMI
This change address sending DBS Scan selection policy command
to WMI.

Change-Id: I0117845ac28e3ca8977eefc09b738a79181b4115
CRs-Fixed: 2029280
2017-06-14 08:23:57 -07:00
Hong Shi
2d384fdaf8 qcacld-3.0: Add ini to configure per band mgmt rate
qcacld-2.0 to qcacld-3.0 propagation

Current ini setting doesn't support configuring per band mgmt rate.
Add ini to configure per band mgmt rate.

Change-Id: I340b09324fc16b15846598b17de9976f92b93252
CRs-Fixed: 2038854
2017-06-14 00:58:39 -07:00
Dustin Brown
20b6fcfc17 qcacld-3.0: Add gScanBackoffMultiplier ini item
For Network Listen Offload and Preferred Network Offload, the fast scan
period is multiplied by scan_backoff_multiplier after max cycles have
occurred. Add a new configuration item, gScanBackoffMultiplier, to
configure scan_backoff_multiplier.

Change-Id: I832d3e058d1c6c0b441090039204d68502e2b96d
CRs-Fixed: 2035197
2017-06-09 21:36:30 -07:00
Arun Khandavalli
ca892f672d qcacld-3.0: Check Driver module status for sysfs read/write requests
When there is no interface is being used by the upper layer,interface
change timer kicks-in and closes all the modules. When there is a
sysfs read write request when the module is closed it tries to
access the contents of closed modules resulting in assert's or
crash.

To mitigate the issue validate the driver module status.

CRs-Fixed: 2052903
Change-Id: I2eec712ff823c7c2dc49f7d9d3c55d9166e3b0d9
2017-06-08 09:40:47 -07:00
Ajit Pal Singh
747b6807c1 qcacld-3.0: Handle wifi config attribute RESTRICT_CHANNEL
Handle WIFI configuration vendor attribute
QCA_WLAN_VENDOR_ATTR_CONFIG_RESTRICT_OFFCHANNEL.
This attribute is set by applications to restrict operations which
cause the AP/GO to go offchannel.

A counter is also added to hdd_adapter to track the number of times
this attribute is set by different applications.
This counter will be reset in the driver when the AP/GO interface is
brought down.
It is the responsibility of the application to remember(through
persistent storage) that it has applied the setting and in case the
application is killed it should be able to recall that it has made the
setting when it is re-started next time.

Change-Id: I45106c8515756d1a007514f1b3e9744bd6ce4834
CRs-Fixed: 2050999
2017-06-07 04:11:07 -07:00
lifeng
13a89d7d81 qcacld-3.0: Add ini to configure SAP 11n max mcs
qcacld-2.0 to qcacld-3.0 propagation

Add support for configure host init SAP HT rate
upper bound.

Change-Id: If749f8a036d98d9070cb05170fa1e612fcb30e8a
CRs-Fixed: 1091897
2017-06-06 10:26:24 -07:00
lifeng
959a04cedc qcacld-3.0: Support for configure wlan rts sifs,ampdu count
qcacld-2.0 to qcacld-3.0 propagation

Add support for host enable/disable rts sifs bursting, and set
default tx mpdu aggregation count.

CRs-Fixed: 1089478
Change-Id: Ieb63621f217ccd1a50b925ea4dda05fecad01387
2017-06-06 10:26:23 -07:00
Ajit Pal Singh
2c7aecd2ed qcacld-3.0: Combine LTE Coex & DNBS avoid freqs
Avoid frequency list can be generated due to LTE Coex and
Do_Not_Break_Stream.
Combine LTE Coex & DNBS avoid frequencies before sending the list to
application.

Change-Id: Ibafac2fcc160d029fc5643847a5647edf10db29d
CRs-Fixed: 2045120
2017-06-06 07:21:28 -07:00
Hanumanth Reddy Pothula
42e714a329 qcacld-3.0: Decrease default timer waiting value for interface up
presently timer value is 250sec for wlan interface up from the upper layer,
which is too high.hence moving to 5sec.

Change-Id: Ia955bd12ab37f33c312c728d55c0019317a20acc
CRs-Fixed: 1104031
2017-06-06 06:20:35 -07:00
Nachiket Kukade
8b4bfd8c75 qcacld-3.0: Advertise CSN of BF Antenna as 7 in VHT Caps if fw supports
If firmware supports CSN[Compressed Steering Number of Beamformer Antennas
] 8x8 and if the concerned INI(i.e. gTxBFCsnValue) is set above 3 which is
default fw support currently, send Probe/Assoc Request with CSN in VHT caps
as set in INI. Else set CSN to 3.

CSN of Beamformer Antenna in VHT caps is one less than the max number of
space time streams that the STA can receive in VHT NDP(i.e. CSN in VHT caps
= max space time streams STA can receive - 1)

Change-Id: I6c77f7513ee090beba8849b27c90ac0346e1ac58
CRs-Fixed: 2052348
2017-06-06 03:22:55 -07:00
Selvaraj, Sridhar
021ee0ace3 qcacld-3.0: Update scan request IE's with default scan IE's
1) If g_qcn_ie_support is enabled, Save QCN IE along with default scan
   IE's received from Supplicant at init time.
2) Compare and update scan IE's with saved default scan IE's for each
   scan offload request to FW.

Change-Id: I902ab753db3bc3d5b4de400f550bf4ba3ceb424b
CRs-Fixed: 2033203
2017-06-05 22:11:16 -07:00
Ganesh Kondabattini
9e4fbbbe57 qcacld-3.0: Stop TDLS timer when PDR triggered
Host is not stopping the TDLS timers when PDR is triggered.
These timers are expiring during wlan shut down and leading to
crash.

Fix is to stop TDLS timers while resetting adapters.

CRs-Fixed: 2050795
Change-Id: I944081342ff2de2548ff839a7b852d64282c0323
2017-06-05 09:22:27 -07:00
Nishank Aggarwal
4dbbc919f8 qcacld-3.0: Allow staid with 0 as valid for TDLS Peer
Staid with 0 value is considered invalid for TDLS peer.
But Staid with 0 should not be invalid.

The fix is to allow staid with 0 value as valid for
TDLS peer, and assign 0xFF as invalid staid for TDLS
peer.

Change-Id: Ia175c7f1621e7ac0bb826c60fad4ce98dbd41d44
CRs-Fixed: 2041406
2017-06-05 06:15:49 -07:00
Krunal Soni
364e087691 qcacld-3.0: Defer power-save for certain APs during initial connection
Few APs create interoperability issues when STA goes to power-save mode
right after initial connection.

In order to resolve these issues, defer the power-save for few seconds
when connected to those APs.

Change-Id: I3f6b642fb4e481dcb8e14f6da141f4cfa9d6b167
CRs-Fixed: 2046014
2017-06-02 14:47:43 -07:00
Manikandan Mohan
39accff49b qcacld-3.0: Add INI item for 11AX HE params and configure on BSS start
Add INI params for 11AX HE OBSS_PD. Update code to set
these params on BSS start on station connection and SAP start.

Change-Id: I60ae2cae936558668dfb1059744a6e3891aaebd1
CRs-fixed: 2045431
2017-06-01 16:01:09 -07:00
Dustin Brown
2078eddc00 qcacld-3.0: Change gHwFilterMode default to 1
gHwFilterMode was mistakenly defaulted to 0. Change the default value
for gHwFilterMode to 1, to match the previous non-arp-bcast-filter
semantics.

Change-Id: I2b22c253fae52ef500290dea63699633da82fd06
CRs-Fixed: 2044102
2017-06-01 12:32:28 -07:00
Dustin Brown
1224e21a8f qcacld-3.0: Add gHwFilterMode ini item
Add a 'gHwFilterMode' ini item to control the DTIM mode hardware
filter. This ini item supersedes 'g_enable_non_arp_bc_hw_filter.'

	# disable feature (default)
	gHwFilterMode=0
	# drop all broadcast frames, except ARP
	gHwFilterMode=1
	# drop all multicast frames, except ICMPv6
	gHwFilterMode=2
	# drop all broadcast and multicast frames, except ARP and ICMPv6
	gHwFilterMode=3

Change-Id: I6bc8ac7585ffd0a62ab1c57558a798df9b63f2ce
CRs-Fixed: 2040420
2017-06-01 12:32:27 -07:00
yeshwanth sriram guntuka
4c9a66989c qcacld-3.0: Remove unused concurrency ini parameters
Remove unused concurrency ini parameters used to
configure number of channels combined for each split
scan operation.

Change-Id: I913b6e769f282a0f5a0ddb40e54d294ae07deb55
CRs-Fixed: 2013444
2017-06-01 06:06:49 -07:00
Naveen Rawat
b2fc41317f qcacld-3.0: Introduce ini param for forcing 1x1 for certain peer
For a certain Vendor OUI this ini param allows STA connection in 1x1
only. This is needed to resolve IOT issue.

Change-Id: If4ff4ece3c4bd1c4b85ebfd5c4870b27efbbe475
CRs-Fixed: 2047347
2017-05-31 23:38:08 -07:00
Dhanashri Atre
1a6a4ce139 qcacld-3.0: Modify legacy LRO implementation to use QDF
Modify the legacy LRO implementation which is in HDD to
use the implementation in QDF instead. This is to avoid
code duplication and to unify the LRO implementations for
Napier and Helium.

Change-Id: Ie9d3bb6d3dcda5a7d1d5fda6e7cbdef92be30461
CRs-Fixed: 2042812
2017-05-26 16:11:27 -07:00
Yuanyuan Liu
d9db825055 qcacld-3.0: send channel info to cnss daemon
Send channel info to cnss daemon. Daemon will pass these info
to LOWI client.

CRs-Fixed: 2006217
Change-Id: I125a519e188774bb099058ad5c385787800e5411
2017-05-26 07:50:57 -07:00
Dustin Brown
7f939930bb qcacld-3.0: Add gTimerMultiplier ini item
Expose the new QDF timer multiplier APIs via a new ini configuration
item, gTimerMultiplier.

Change-Id: I76f86f1488f4335dc7f1f128e1469f3f4cf32645
CRs-Fixed: 2049308
2017-05-25 18:21:41 -07:00
Dustin Brown
f13b8c35e5 qcacld-3.0: Ensure adapter is up before ip change work
Currently, the host driver blindly configures ARP/NS offloads and other
work when it receives an IP address change notification from the kernel.
Ensure the specificed adapter is still up before processing IP address
change notification changes from the kernel to prevent extra work and
invalid access.

Change-Id: I087b72a9ffd735a0482d1c4ff9ad62cb8beb036b
CRs-Fixed: 2049976
2017-05-23 18:00:31 -07:00
Dustin Brown
9a9437f4ee qcacld-3.0: Adjust default EGAP ini values
Adjust the default EGAP ini values.

Change-Id: I53eecf0b09864c82396197511ec20a7ac0dc9a55
CRs-Fixed: 2048773
2017-05-22 16:20:40 -07:00
Naveen Rawat
2b6e3c9d51 qcacld-3.0: ini param support for disconnect threshold
This is qcacld-2.0 to qcacld-3.0 propagation.

This patch adds ini support for WMI_VDEV_PARAM_DISCONNECT_TH
which represents number of dropped packets before FW sends out
kickout event for that peer to host.

Change-Id: I4c82bd1b5d1bc5d8265e3b0e5e58c82cdcab7f50
CRs-Fixed: 862686
2017-05-19 06:32:03 -07:00