Add changes to add support of sending and parsing
authentication packets based on 80211ai specifications.
Change-Id: I684dbc89945ba3aef3186c872e5e1f7564d7e44c
CRs-Fixed: 2028113
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Define HDD rate limit loggign API such that logs
can be rate limited on need basis.
Change-Id: If8dcf48ad9381b5b10df064cfe189bcb932f924c
CRs-Fixed: 2083919
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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