Commit Graph

720 Commits

Author SHA1 Message Date
Rajeev Kumar
052d57c0aa qcacld-3.0: Rename hdd *_rate_limited logging APIs to *_ratelimited
Rename hdd *_rate_limited logging APIs to *_ratelimited.

Change-Id: I0b10b37ddf8602e82c06d1770ceee1b0e9df0797
CRs-Fixed: 2098817
2017-08-30 20:21:34 -07:00
Sridhar Selvaraj
8c6f5e82b0 qcacld-3.0: Changes to support FILS authentication
Add changes to add support of sending and parsing
authentication packets based on 80211ai specifications.

Change-Id: I684dbc89945ba3aef3186c872e5e1f7564d7e44c
CRs-Fixed: 2028113
2017-08-30 10:45:10 -07:00
Jeff Johnson
3c4e6aece4 qcacld-3.0: Rename struct hdd_wext_state_s
The Linux Coding Style eschews the encoding of type information into
names, so rename struct hdd_wext_state_s to align with that guidance.

Change-Id: I27fffbb103aab157356c98d8af2a8716512ef417
CRs-Fixed: 2094519
2017-08-30 10:44:32 -07:00
Jeff Johnson
353cd29972 qcacld-3.0: Replace typedef hdd_priv_data_t
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_priv_data_t typedef does
not meet any of those criteria, so replace it with a well named
struct.

Change-Id: I1f31b7d8035e7025abd23cede7b2e8830a8db5d2
CRs-Fixed: 2094518
2017-08-30 10:44:19 -07:00
Dustin Brown
49040e1833 qcacld-3.0: Prevent link down by default on Napier
Napier does not yet support PCIe link-down suspend. For the time being,
prevent the PCIe link from going down during suspend by default on
Napier. This is to be reverted once Napier gets proper link-down
support.

Change-Id: I55adea9a1421977fc018193ecfa25eeb51987192
CRs-Fixed: 2092853
2017-08-30 10:44:06 -07:00
Jeff Johnson
90b79cf08f qcacld-3.0: Remove statusCode from hdd_wext_state_t
Currently hdd_wext_state_t defines field statusCode, but this
field is never referenced and hence is obsolete, so remove it.

Change-Id: I482999414078d02a23b3b6255b0270c28e332191
CRs-Fixed: 2094517
2017-08-30 10:41:32 -07:00
Abhishek Singh
12be60f54b qcacld-3.0: Fix kernel checkpatch warnings in sme_qos_api.h
Fix kernel checkpaitch warnings in sme_qos_api.h

Change-Id: Ib811dcf0b664a2677343a276708d852f4bb67346
CRs-Fixed: 2025503
2017-08-30 10:41:27 -07:00
Jeff Johnson
d084adb90f qcacld-3.0: Remove isESEConnection from hdd_wext_state_t
Currently hdd_wext_state_t defines field isESEConnection, but this
field is only written in one place and never read, hence it is
obsolete, so remove it.

Change-Id: Ia110a11ae968b28b2c74e5b77b4bcca21f69a78f
CRs-Fixed: 2094516
2017-08-30 10:41:23 -07:00
Jeff Johnson
89798aa132 qcacld-3.0: Replace typedef hdd_wapi_info_t
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_wapi_info_t typedef does
not meet any of those criteria, so replace it with a well named
struct.

Change-Id: I3f5d0faf689fac619643c78ca554bba3775bde04
CRs-Fixed: 2094514
2017-08-30 10:41:14 -07:00
Jeff Johnson
c5d7650079 qcacld-3.0: Rename struct beacon_data_s
The Linux Coding Style eschews the encoding of type information into
names, so rename struct beacon_data_s to align with that guidance. In
the process add an hdd_ prefix to avoid future namespace collisions.

Change-Id: Iae1cbbac2bee520ae305b027f68b5af1c4d94ea7
CRs-Fixed: 2093278
2017-08-30 10:41:10 -07:00
Jeff Johnson
3758894ae8 qcacld-3.0: Replace typedef hdd_scaninfo_t
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_scaninfo_t typedef does not
meet any of those criteria, so replace it with a well named struct.

Change-Id: Ia61b1f525a02e21a29e512dcb4c3678b730e6bd6
CRs-Fixed: 2093812
2017-08-30 10:40:57 -07:00
Zhang Qian
32fd43e7d0 qcacld-3.0: Correct cached connection info
qcacld-2.0 to qcacld-3.0 propagation

The variables used for cached ssid and authentication type will be cleared
after disconnection, hence user will get incorrect info from vendor
event after disconnection.

Use separate variables to save last ssid and auth info.

This is to fix issues of change I5b64d9942a54d35eac0f08b4d8fbed9d1d66a504.

Change-Id: Icc1a5d53e33d650726905e50e4846b77b10cf4ee
CRs-Fixed: 2098560
2017-08-30 10:40:44 -07:00
Linux Build Service Account
56cee29266 Merge "qcacld-3.0: Introduce ini to control NDI mac randomization" 2017-08-24 12:11:16 -07:00
Linux Build Service Account
1b248de915 Merge "qcacld-3.0: Channel hopping for 2_4G and 5G band" 2017-08-24 12:11:15 -07:00
bings
284f8be176 qcacld-3.0: Fix race condition that Tx is paused by flow control forever
When hdd_get_tx_resource is called, if free Tx desc is lower than low water
mark, vdev->os_q_paused will be set as 1 and WLAN_STOP_ALL_NETIF_QUEUE will
be triggered after a while. Before WLAN_STOP_ALL_NETIF_QUEUE is triggered,
if ol_tx_flow_ct_unpause_os_q is called, WLAN_WAKE_ALL_NETIF_QUEUE will be
triggered and vdev->os_q_paused will be set as 0. In such case There will
be no flow control unpaused forever.

Tx should be paused by flow control when Tx desc is lower than low water
mark, and unpaused when Tx desc is bigger than high water mark or Tx is
already paused by flow control.

Change-Id: Ib60139fd94a4fb88c92a7f8aaf886ae9d3ca4c75
CRs-Fixed: 2089149
2017-08-23 22:07:30 -07:00
gaolez
76d2a16f03 qcacld-3.0: Channel hopping for 2_4G and 5G band
qcacld-2.0 to qcacld-3.0 propagation

Allow device switch to a different channel if the current channel is
congested, using the 11h channel switch announcement.

Change-Id: I1766785017e43f17cc800039b383ee5dabcd6ea5
CRs-Fixed: 2082632
2017-08-22 20:57:57 -07:00
Tushnim Bhattacharyya
49ed8ab90b qcacld-3.0: Expand the use of gDualMacFeatureDisable INI
Few OEMs want DBS to be disabled for connections while
keeping DBS scan enabled.
Few OEMs want advance DBS scan features to be disabled.
Provide different value to gDualMacFeatureDisable INI item
to achive the goal.

Change-Id: Iddf5df23575a2f907bb8dbd0c37e03ff4ebbdea8
CRs-Fixed: 2068779
2017-08-22 16:05:38 -07:00
Sandeep Puligilla
0a11f8dc6f qcacld-3.0: Cleanup legacy scan code
Cleanup unused legacy scan code related
to abort scan.

Change-Id: I32c4c81b54bd464ebd5918c5a697fc57f505abc7
CRs-Fixed: 2063667
2017-08-21 19:26:08 -07:00
Ravi Joshi
9771d43a29 qcacld-3.0: Introduce ini to control NDI mac randomization
Allow disabling randomization of NDI MAC address. This will allow
faster debugging and give OEMs option of disabling this if not
required.

Change-Id: Ie4f4c1dba2014be50c997715d65e3f97e5d5980e
CRs-Fixed: 2069470
2017-08-21 18:02:09 -07:00
Rajeev Kumar Sirasanagandla
aec0b08b54 qcacld-3.0: Add support to include selective scan IEs only
qcacld-2.0 to qcacld-3.0 propagation

Add support to include only selective IEs in probe requests in
order to improve user's privacy.

Change-Id: Ib874af7ec2f5453282ffe0e8fc2e50934460b745
CRs-Fixed: 1086582
2017-08-19 01:27:13 -07:00
Jeff Johnson
c51cac9d1d qcacld-3.0: Rename struct hdd_hostapd_state_s
The Linux Coding Style eschews the encoding of type information into
names, so rename struct hdd_hostapd_state_s to align with that
guidance.

Change-Id: Ic520ecd0c6ba64428533aae6eef92bcb4d8daeaa
CRs-Fixed: 2093282
2017-08-18 19:07:28 -07:00
Jeff Johnson
3e8d37760e qcacld-3.0: Rename struct hdd_cfg80211_state_s
The Linux Coding Style eschews the encoding of type information into
names, so rename struct hdd_cfg80211_state_s to align with that
guidance.

Change-Id: I10342551370e1b81d49df734cf81a44501cb0bf7
CRs-Fixed: 2093281
2017-08-18 19:07:26 -07:00
Jeff Johnson
a49c0ac465 qcacld-3.0: Replace typedef hdd_pmf_stats_t
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_pmf_stats_t typedef does
not meet any of those criteria, so replace it with a well named
struct.

Change-Id: I6e1f205f36ca35d58f5f8846d95d76976266a8bd
CRs-Fixed: 2093258
2017-08-18 18:27:45 -07:00
Rajeev Kumar
5cb007fbfa qcacld-3.0: Define HDD rate limit loggign API
Define HDD rate limit loggign API such that logs
can be rate limited on need basis.

Change-Id: If8dcf48ad9381b5b10df064cfe189bcb932f924c
CRs-Fixed: 2083919
2017-08-18 17:46:52 -07:00
Ravi Kumar Bokka
7a4034e3a1 qcacld-3.0: modify ini value for MCBC active apf param
modify ini max value to 1 for mcbc active apf.

Change-Id: Ief648ea879feacba4812ccf4427dfe1fde1a76f5
CRs-Fixed: 2072916
2017-08-18 17:46:49 -07:00
Jeff Johnson
07f9474753 qcacld-3.0: Replace typedef hdd_stats_t
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_stats_t typedef does not
meet any of those criteria, so replace it with a well named struct.

Change-Id: Ie4340278dc449f7d0bd65be726a8d573506e4f1a
CRs-Fixed: 2092843
2017-08-17 00:06:54 -07:00
Jeff Johnson
41a6496ffe qcacld-3.0: Replace typedef roaming_info_t
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The roaming_info_t typedef does not
meet any of those criteria, so replace it with a well named struct. In
the process remove the unused roamingEvent that it contains.

Change-Id: I0bf974fcbe0a591973610eef27acc3da07071a57
CRs-Fixed: 2092842
2017-08-17 00:06:52 -07:00
Varun Reddy Yeturu
168134f94e qcacld-3.0: Introduce lookup_threshold_5g_offset INI item
Introduce lookup_threshold_5g_offset in WCNSS_qcom_cfg.ini
which will let the user to configure separate threshold for
5G band using this offset

Change-Id: I4975f74095a5fec0657666ba864ee436cbaed604
CRs-Fixed: 2093368
2017-08-16 17:37:01 -07:00
Jeff Johnson
e4bad25921 qcacld-3.0: Replace typedef connection_info_t
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The connection_info_t typedef does
not meet any of those criteria, so replace it with a well named
struct.

Change-Id: I414f8d1949807f1bc0cda72971fab5696d1d1860
CRs-Fixed: 2092786
2017-08-15 01:27:15 -07:00
Jeff Johnson
745880cfba qcacld-3.0: Rename struct hdd_tx_rx_stats_s
The Linux Coding Style eschews the encoding of type information into
names, so rename struct hdd_tx_rx_stats_s to align with that guidance.

Change-Id: Idb6f8a6a2aa7704dedefdb78689c966babab8c42
CRs-Fixed: 2092737
2017-08-15 01:27:12 -07:00
Jeff Johnson
e962b1972a qcacld-3.0: Rename struct hdd_ap_ctx_s
The Linux Coding Style eschews the encoding of type information into
names, so rename struct hdd_ap_ctx_s to align with that guidance.

Change-Id: I68fb6fb0a2e62d1462b04d05e5232167ce423754
CRs-Fixed: 2092736
2017-08-15 01:27:10 -07:00
Jeff Johnson
82797b6d85 qcacld-3.0: Rename struct hdd_context_s
The Linux Coding Style eschews the encoding of type information into
names, so rename struct hdd_context_s to align with that guidance.

Change-Id: I590cc8751873479a098f90b501c401c4fb4010c4
CRs-Fixed: 2092735
2017-08-15 01:27:07 -07:00
Jeff Johnson
85b5c11849 qcacld-3.0: Rename struct hdd_adapter_s
The Linux Coding Style eschews the encoding of type information into
names, so rename struct hdd_adapter_s to align with that guidance.

Change-Id: I2a43671d9233f596b4e10eda4ad8641d7311fad1
CRs-Fixed: 2092733
2017-08-15 01:27:05 -07:00
Dustin Brown
6f17a021d4 qcacld-3.0: Duplicate target_hw_name in HDD
Currently, HDD keeps a ponter to the HIF target_hw_name, which it gives
to userspace upon request. If HIF is closed, this memory is cleaned,
leading to a use-after-free. When the HIF target_hw_name pointer is
received by HDD, store a duplicate instead of the original string.

Change-Id: Ic27f00937cd600ed04908f3ba0f83ede54bc31eb
CRs-Fixed: 2079231
2017-08-14 21:26:36 -07:00
jiad
14fe4fbf5c qcacld-3.0: fix ipa mcc tx_desc pool size
A list of ipa tx_desc is created to have a one-to-one mapping between
tx_desc from ipa driver and tx_desc in wlan. The list pool size is now
set to IpaUcTxBufCount, which is IPA wlan FW tx comp ring size and is
more like a HW resource. But the list is used only for SW MCC TX path.

Fix is to define a new INI to set hdd_ipa_tx_desc pool size. But real
size is minumum of this INI and the global tx_desc pool size.

Change-Id: I3216a4c14ac624cc313d11226909efd4f63841d0
CRs-Fixed: 2076672
2017-08-14 19:26:31 -07:00
Kiran Kumar Lokere
487957957a qcacld-3.0: Refactor the channel avoid event processing
Replace the channel avoid event data structure with the one defined in
regulatory module, remove the HDD callback as regulatory module is
consuming the FW event now, add logic to notify user space of channel
avoid event.

Change-Id: I6b1b986837ab89503a7e0469619193b0af8127da
CRs-Fixed: 2080241
2017-08-13 16:56:59 -07:00
Rajeev Kumar
f98a5cc3f8 qcacld-3.0: Hold wake lock for SAP client disconnect notification
Hold wake lock in driver for SAP client disconnect notification to
user space inorder to avoid hostapd and driver going out of sync.

Change-Id: If81cf836b8fc047731735aa28831d1efa2f4e7b2
CRs-Fixed: 2084282
2017-08-13 16:16:11 -07:00
Krunal Soni
158bfe6e18 qcacld-3.0: Introduce INI to disable high HT MCS for 2G STA
To resolve one of IOT issues, introduce INI called
"disable_high_ht_mcs_2x2" which will disable high MCS indices for
2G STA case based on INI value.

Change-Id: I60c5edd89a42f74c0f439fe6a9ab0c75373622b2
CRs-Fixed: 2087438
2017-08-13 15:36:44 -07:00
gaolez
e2920bda2b qcacld-3.0: Add ini option for action frame based channel switch
qcacld-2.0 to qcacld-3.0 propagation

Add ini option to enable/disable action frame based channel switch.

Change-Id: I340464a18ef0b5cf09f481a23b01edcf04904e34
CRs-Fixed: 2082563
2017-08-09 20:50:29 -07:00
Yingying Tang
7ccf7d027d qcacld-3.0: Fix compilation error of unsigned only in ISO C90
Constant value 4294967295 is recognized as an signed integer
in ISO C90. Change the definition of the constant value to
4294967295UL to fix compilation error where need a unsigned
value as a input parameter.

Change-Id: I02f67b6351c53b5e3331ce668059c4c61953a8d3
CRs-Fixed: 2023140
2017-08-09 19:37:03 -07:00
Chris Guo
1751acf0c2 qcacld-3.0: Fix QDF assert in command ipaucstat
When doing HDD context check in ipa_init, the CDS is not yet
loaded. So remove the CDS loading check in ipa_init.

Change-Id: I45843c406f280cfbf932bc489f9051c2300b77ba
CRs-Fixed: 2070428
2017-08-09 18:10:46 -07:00
Kabilan Kannan
00d2041f9b qcacld-3.0: Restructure TDLS function to fix the compilation issue
If TDLS disabled at the build level, it triggers
build failures in some of the projects, which does
not support TDLS feature.
Restructure the TDLS function to avoid build
failures, when TDLS is not enabled.

Change-Id: I3b63546f22d0187fb42d400fd7e15ff7a3d64653
CRs-Fixed: 2056022
2017-08-08 16:05:11 -07:00
Yun Park
b4f591d8aa qcacld-3.0: Enable WLAN host data path support for IPA WDI3.0
Change to support WLAN Napier host autonomy data path architecture.

Change-Id: I80e8f609587d0df85d2da9fb0f41cb49e02a9d2f
CRs-Fixed: 2033368
2017-08-07 17:47:45 -07:00
Ashish Kumar Dhanotiya
b28338c403 qcacld-3.0: Add host support to configure the SMPS parameters
Currently there is no support to configure SMPS parameter
from host, add support to configure SMPS parameters using ini.

Change-Id: I6f8273ffed39a0b95c31f1647e86406b870165f2
CRs-Fixed: 2080571
2017-08-06 20:45:06 -07:00
Ashish Kumar Dhanotiya
b8630abe6d qcacld-3.0: Configuration to enable/disable LPRx
Add host support to enable/disable LPRx from ini.

Change-Id: I7a5acd34331cdd1f06a2d08317efcf04c6f608a7
CRs-Fixed: 2080316
2017-08-06 20:45:04 -07:00
Srinivas Girigowda
5da651bc36 qcacld-3.0: Add support for CFG80211_REMOVE_IEEE80211_BACKPORT
CFG80211_REMOVE_IEEE80211_BACKPORT is added to indicate
backport of Change-Id: 57fbcce37b
from upstream 4.7 kernel to 4.4.

Hence add this flag CFG80211_REMOVE_IEEE80211_BACKPORT to
support this compilation. Also introduce HDD_NUM_NL80211_BANDS.

Change-Id: I60a15a1273f939a0a288d08d03ccb5bf1bdcc429
CRs-Fixed: 2087917
2017-08-06 14:48:18 -07:00
Nitesh Shah
45d6f33555 qcacld-3.0: Disable DBS Scan duty cycle by default
The default value for the ini gdbs_scan_selection is set
with 2 DBS and 2 non-DBS Scan for Module id WLAN_MODULE_
ROAM (5) and WLAN_MODULE_HOST (16). Thus, the scan policy
for full scan is kept getting change for DBS scan and
legacy scan.

This change is to make the default value for the ini
gdbs_scan_selection as NULL, thus disabling the DBS scan
duty cycle feature by default.

Change-Id: I8dd304628b729e11a63aaa2b6dea972cff1798d7
CRs-Fixed: 2062420
2017-08-06 00:59:57 -07:00
Naveen Rawat
d9dd4b33f6 qcacld-3.0: Fix implicit conversion error for sme_QosWmmDirType
Replace sme_tspec_dir_type and sme_QosWmmDirType with sme_qos_wmm_dir_type
to avoid implicit conversion warnings/errors and to conform with linux coding
guidelines.

Change-Id: I1567ebbe7ec8adab3344d96f0d2aa93367975926
CRs-Fixed: 2071677
2017-08-06 00:59:54 -07:00
Srinivas Girigowda
a8f66581e7 qcacld-3.0: Fix to set roaming capability in get_supported_features()
Because of obsolete macros FEATURE_WLAN_LFR and WLAN_FEATURE_ROAM_SCAN_OFFLOAD
roaming capability is not properly set in get_supported_features.

Fix this by using the proper macros.

Change-Id: I4dec8c32c71fde01b663e11e60f1da171adee3e4
CRs-Fixed: 2067126
2017-08-03 19:48:51 -07:00
Srinivas Girigowda
8df27eacb6 qcacld-3.0: Enable feature bits in get_supported_features()
This is a qcacld-2.0 to qcacld-3.0 propagation.

Enable feature bits WIFI_FEATURE_CONTROL_ROAMING,
WIFI_FEATURE_IE_WHITELIST and WIFI_FEATURE_SCAN_RAND.

Change-Id: Ia0f136e038e7da040faae04eaa11bcf56bb72443
CRs-Fixed: 1102187
2017-08-03 19:48:49 -07:00