Commit Graph

665 Commits

Author SHA1 Message Date
Nachiket Kukade
c34d4a3352 qcacld-3.0: Set timer expiry on queued HDD scan requests
In certain cases HDD fails to receive callbacks for the scan requests
queued to SME. Kernel may free up these scan requests due to timeout.
During driver shutdown and exit if scan done is performed on these
stale scan requests, kernel crash may occur.

Set a timer of 60 seconds on queued scan requests, after expiry BUG_ON
for debugging purposes.

Change-Id: I6db155b17a8a5ae87208ec84eaab221a53623a63
CRs-Fixed: 2070594
2017-07-30 11:00:06 -07:00
Manjeet Singh
a9cae43599 qcacld-3.0: Add support for band specific preference
Add support for 5Ghz network RSSI boost/penalty preference
based on ini values.

Change-Id: Ia3ae5dcc35b9a85fde5a609f8f27ff8b4bc35cec
CRs-fixed: 1085554
2017-07-30 09:09:12 -07:00
Agrawal Ashish
bafaff128b qcacld-3.0: Add INI and IOCTL template for SAP ACS feature
Add INI and IOCTL template for SAP ACS feature for documentation.

Change-Id: Id8088ee9b1f79c975d15d71c10aca1e05e35f82b
CRs-Fixed: 1105602
2017-07-30 09:09:10 -07:00
Agrawal Ashish
e030f78aef qcacld-3.0: Add INI template for P2P feature
Add INI template for P2P feature for documentation.

Change-Id: I7d9fcb2272e0d105fd81bbeea9e387ce40ffa5b5
CRs-Fixed: 1116847
2017-07-30 07:50:15 -07:00
Ashish Kumar Dhanotiya
cf11bae9c0 qcacld-3.0: Fix kernel checkpatch warnings in wlan_hdd_power.c
Fix kernel checkpatch warnings in wlan_hdd_power.c

Change-Id: I0a22c2c1ebc86ada69ff271cbd68f2166e08b541
CRs-Fixed: 2024274
2017-07-27 16:59:29 -07:00
yeshwanth sriram guntuka
1413dfbf79 qcacld-3.0: Add ini to indicate OCE support to user space
Vendor features are used to indicate OCE support
from driver to user space which are set based on ini
params for STA and SAP.

Change-Id: I1b9039307d5477883a2fd23e972d20234908ee24
CRs-Fixed: 2031980
2017-07-27 16:59:06 -07:00
Hanumanth Reddy Pothula
ffc2d4866e qcacld-3.0: Rename ini param name sap_restart_on_ch_avoid
sap_restart_on_ch_avoid ini parameter holds good for both SAP and GO.
So to make it generic, rename to ignore_restart_on_chan_avoid_event.

Change-Id: Ic68014a71b36e00c268da50528bf5e14fd87d007
CRs-Fixed: 2027436
2017-07-27 16:58:53 -07:00
Ganesh Kondabattini
acaf8a9c4c qcacld-3.0: Change the min and default values of gTDLSEnableDeferTime
Driver is disabling the tdls for 5s from the last p2p-listen request
received. This is leading to tdls connection failure even after p2p
find has been stopped.

So reducing the min and default timer values 500ms and 2s respectively.

CRs-Fixed: 2078933
Change-Id: Id1ab3945d029de8154aede403b354aec99f4cd79
2017-07-27 16:58:50 -07:00
Linux Build Service Account
5833b7c944 Merge "qcacld-3.0: Add ecsa capability record" 2017-07-26 15:44:22 -07:00
CNSS_WLAN Service
cb71bc09ed Merge "qcacld-3.0: Set final bmiss count to 20 from 10" into wlan-cld3.driver.lnx.2.0-dev 2017-07-26 00:38:56 -07:00
Linux Build Service Account
75463cca73 Merge "qcacld-3.0: Add phymode parameter in hdd_chan_change_notify" 2017-07-25 21:17:11 -07:00
gaolez
7bb1e74744 qcacld-3.0: Add ecsa capability record
qcacld-2.0 to qcacld-3.0 propagation

Add eCSA capability record of STAs which associated to SAP.

Change-Id: I1d7892bb1dc4e490a587e8372a4bdc7f419e8b36
CRs-Fixed: 1094958
2017-07-25 15:44:06 -07:00
CNSS_WLAN Service
0a40c2ac36 Merge "qcacld-3.0: Add new ini param for min rest time during roaming scan" into wlan-cld3.driver.lnx.2.0-dev 2017-07-25 09:07:46 -07:00
Mukul Sharma
9e8395ec44 qcacld-3.0: Set final bmiss count to 20 from 10
Due to multiple beacon miss issues observed in firmware,
Host is changing final bmiss count to 20 from 10.
Hence firmware can receive beacon in noisy environment.

Change-Id: I87e4a6eaec016f36ca22a057e0d9812c0b8696ff
CRs-Fixed: 2082088
2017-07-25 18:02:53 +05:30
bings
58ce86229c qcacld-3.0: Add phymode parameter in hdd_chan_change_notify
Information in struct ch_params_s are the same for 11g and
11n ht20, so phymode is still needed to distinguish them.

Change-Id: I5ddfc011b4fd3b11c975f8b2df3a270e8141e622
CRs-Fixed: 2073580
2017-07-25 03:45:24 -07:00
Sridhar Selvaraj
1b2330ccb8 qcacld-3.0: Add new ini param for min rest time during roaming scan
Currently both min and max rest time use the same ini param
gNeighborScanTimerPeriod.

Add a new ini param gRoamRestTimeMin for min rest time
during channel scan.

Change-Id: Ifbb0fcc736e81b292639c6f2ad3119b451bec4f2
CRs-Fixed: 2060095
2017-07-24 10:52:47 -07:00
Linux Build Service Account
6c1da11513 Merge "Release 5.2.0.35I" 2017-07-19 22:47:25 -07:00
Dustin Brown
fe7aa8780a qcacld-3.0: Add gPreventLinkDown ini item
Add a configuration item, gPreventLinkDown, to disable putting the bus
link to sleep during suspend/resume.

Change-Id: Id52c6319cafaef60e6f4e562010615361eb831cd
CRs-Fixed: 2066718
2017-07-18 15:49:39 -07:00
Selvaraj, Sridhar
57ce4dfde2 qcacld-3.0: Add ini params to avoid roam ping pong
In roaming scenario, to avoid ping pong with bad AP’s around, fw
blacklist certain Ap’s based on timestamps and penalize certain
AP’s of the same channel so they won’t be selected and back and
forth roaming could be avoided. This change adds the following
INI parametres to configure the parametres of this fw feature.

1) groam_disallow_duration    - Amount of time LCA[Last Connected AP]
                                will be disallowed before it can be a
                                roaming candidate again.
2) grssi_channel_penalization - RSSI to be penalized if
                                candidate(s) are found in the same
                                channel as disallowed AP's.
3) groam_num_disallowed_aps   - number of AP's the target should
                                maintain in its LCA list.

Change-Id: I41cb36caf1b42caeb2bf77846bd0279eb43d2018
CRs-Fixed: 2054188
2017-07-18 05:54:24 -07:00
Srinivas Girigowda
38f1deda4e qcacld-3.0: Fix clang warnings implicit enum nl80211_band
warning: implicit conversion from enumeration type 'enum
nl80211_band' to different enumeration type 'enum ieee80211_band'
[-Wenum-conversion]

Change-Id: I084e015626611ae90be00b11a599ae82f9bf6f60
CRs-Fixed: 2055487
2017-07-17 20:55:20 -07:00
Linux Build Service Account
8c92314963 Merge "Release 5.2.0.34X" 2017-07-16 22:44:05 -07:00
Abhishek Singh
001306866e qcacld-3.0: Use scan reject count along with time to detect scan failure
qcacld-2.0 to qcacld-3.0 propagation

If scan is scheduled after long interval there is a chance that driver
is busy with same reason. i.e if scan is scheduled after 5 min there is
a chance that driver is busy in reassoc both time but this will give false
alarm that driver is stuck.

To reduce this condition include number of scan failures as well
along with time interval.

Change-Id: I6fdd0813541aa5d3d069fe8bf3934cfa47425550
CRs-Fixed: 2064605
2017-07-14 23:51:54 -07:00
Vidyullatha Kanchanapally
be0ebb3807 qcacld-3.0: Add handler for new WMI BT event
Add handler for the new WMI BT activity event and propagate the BT
event till HDD. These BT activity events will be used for MBO
enhancements to decide whether to accept the BTM request from
AP or not.

Change-Id: I687819fd28c693964b42bfb24eb9dae1858b10a5
CRs-Fixed: 2023728
2017-07-13 18:03:08 -07:00
CNSS_WLAN Service
c8436b1a14 Merge changes I4cc41267,Ic4f87c20,Ie4713a18 into wlan-cld3.driver.lnx.2.0-dev
* changes:
  Release 5.2.0.33Z
  qcacld-3.0: Increase scan ageing value for emulation
  Release 5.2.0.33Y
2017-07-09 08:03:23 -07:00
Linux Build Service Account
111c5563e8 Merge "qcacld-3.0: Add .ini configuration for max number of AMSDU" 2017-07-09 07:58:25 -07:00
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
Linux Build Service Account
aa76a34cd9 Merge "qcacld-3.0: Update valid rssi value to upper-layer" 2017-07-08 21:14:00 -07:00
CNSS_WLAN Service
1988e52ac7 Merge "qcacld-3.0: Remove obsolete FTM state data structures" into wlan-cld3.driver.lnx.2.0-dev 2017-07-08 18:45:50 -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
Rajeev Kumar
170310b310 qcacld-3.0: Remove obsolete FTM state data structures
FTM state structures wlan_hdd_ftm_state and wlan_hdd_ftm_status
are not used hence remove them.

Change-Id: I03e0e11e3f7436da99eeb6a1b0fd128e5bf31e7e
CRs-Fixed: 2052605
2017-07-05 15:53:25 -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