Commit Graph

10493 Commits

Author SHA1 Message Date
Rajeev Kumar
4471f1b106 qcacld-3.0: Add magic string for WLAN WD timeouts
To speed up auto triage add magic string whenever driver detects
OPs watchdog timeout.

Change-Id: I2e8dad86b5056f30e82f7dfe9ebc0b4f24672310
CRs-Fixed: 2257331
2018-06-08 22:59:35 -07:00
Rajeev Kumar
617aadd2a2 qcacld-3.0: Enable PNO feature in FW feature config
Enable PNO feature in FW feature config such that WiFi
kernel space driver can return proper PNO feature capability
to user space.

Change-Id: I1360050aab0224b109ee9b3912d1aa428f5a5ed7
CRs-Fixed: 2249491
2018-06-08 22:59:32 -07:00
Rajeev Kumar
85ffc26c54 qcacld-3.0: Disable MAWC feature in config file
Disable MAWC features in HDD config file.

Change-Id: I0cbe8857a7be1c7e12ffdfab7d5683034e1981c8
CRs-Fixed: 2252904
2018-06-08 22:59:29 -07:00
nshrivas
38205382a4 Release 5.2.0.82C
Release 5.2.0.82C

Change-Id: Id1ce69a5ef784c1b25781e079ea31538ff4637d3
CRs-Fixed: 774533
2018-06-08 21:34:48 -07:00
Nachiket Kukade
107f639cce qcacld-3.0: Change wow event API's to accept wow event types
Current ucfg API's that disables wow events accept a u32 bitmap
variable. A pointer to that variable is passed to core API where
it assumes it as a u32 array of 4 bytes. This will lead to out of
bound memory access.

Change wow enable/disable API's to accept wow event type as the
parameter.

Change-Id: I220aaddfea62ab96f121014d0d65a1406988c946
CRs-Fixed: 2233108
2018-06-08 21:34:47 -07:00
nshrivas
acfc426b2e Release 5.2.0.82B
Release 5.2.0.82B

Change-Id: I739aae3788db357f405a7374f25ec245e7e368a3
CRs-Fixed: 774533
2018-06-08 20:14:06 -07:00
Alok Kumar
d27a9ed4f7 qcacld-3.0: Fix race vdev down and tx_desc->vdev access
ol_tx_update_connectivity_stats() in tx completion
path updates connectivity stats referenced from tx_desc.
In cases when vdev has gone down and tx completion are received
leads to NULL vdev access. So, add check before accessing vdev.

Change-Id: I402d740ab3ecd923aa1b632bd0c59447599c17df
CRs-Fixed: 2225053
2018-06-08 20:14:06 -07:00
Manjunathappa Prakash
7c985c7995 qcacld-3.0: Fix race vdev down and tx_desc->vdev access
ol_tx_update_arp_stats() in tx completion path updates the per vdev
arp statistics. vdev is referenced from tx_desc.
In cases when vdev has gone down and tx completion are received leads
to NULL vdev access. So clear reference to vdev inside tx_descs when
vdev goes down.

Change-Id: Ic8c854b42ece41489f71e1374e5e72580308e9fe
CRs-Fixed: 2215312
2018-06-08 20:14:03 -07:00
Zhu Jianmin
4bf615e184 qcacld-3.0: Fix reassoc issue for Passpoint TC5.2.a
After DUT connected AP,  run on CLI: iwpriv wlan0 reassoc,
QDF_BUG(0) in driver on Rome.

When reassoc to current connected AP, LFR2 and LFR3 have
different design.
Helium supports LFR3, send WMI_ROAM_INVOKE_CMDID to F/W to
trigger offload roaming.
Rome only supports LFR2, Send vdev start cmd to F/W while
vdev already started first, then send reassoc frame.

Passpoint TC5.2a need reassoc to current connected AP.

Change-Id: Ic0e2c945c6978835f39ec1746f625a0c52f643a7
CRs-Fixed: 2232538
2018-06-08 20:14:00 -07:00
Ryan Hsu
338cc11b96 qcacld-3.0: remove the unnecessary stats reset operation
In the case of invalid iface_ctx, the stats reset operation is not
needed, so removed it.

Change-Id: I48b4b42717451e1ccbfc9753147e65d35ff78df4
CRs-fixed: 2254683
2018-06-08 20:13:57 -07:00
nshrivas
70a7220e37 Release 5.2.0.82A
Release 5.2.0.82A

Change-Id: I618d1c9564f8845bc2de396219c4f6c4ec9a3811
CRs-Fixed: 774533
2018-06-08 19:00:04 -07:00
Nirav Shah
8ba94a5d59 qcacld-3.0: Enable size optimization compiler flag for genoa
Enable size optimization compiler flag for genoa

Change-Id: Ibda9f6baf07077b0fcc6ae4d7bd6c148252cc82b
CRs-Fixed: 2255923
2018-06-08 19:00:03 -07:00
Nirav Shah
997e083b0f qcacld-3.0: Configure log buffer size from Kbuild
Configure log buffer size from Kbuild.

Change-Id: If84653ea8f5ef2a94cc006b1c62ac468de2e408a
CRs-Fixed: 2255920
2018-06-08 19:00:00 -07:00
Nirav Shah
a72db1d340 qcacld-3.0: Kbuild: Cleanly featurize data path debug flags
Define separate configuration options for the various data path
debug features and use those options to set the associated
ccflags macros.

Change-Id: Ia410557bb9fa22731d83b46e61f394b14781d61f
CRs-Fixed: 2255915
2018-06-08 18:59:56 -07:00
Nirav Shah
91daea9427 qcacld-3.0: Remove duplicate config for ATH_11AC_TXCOMPACT
Remove duplicate config for ATH_11AC_TXCOMPACT feature.

Change-Id: I1a264c61d69f28feeae1bc2db496468456ae60f2
CRs-Fixed: 2255912
2018-06-08 18:59:53 -07:00
Nirav Shah
78136b7181 qcacld-3.0: Add config file for genoa perf build
Add config file for genoa perf build

Change-Id: I4f96a86e30942306cf5f8b7f1d94a15d1e2b5a7c
CRs-Fixed: 2255909
2018-06-08 18:59:50 -07:00
nshrivas
00b6a259bb Release 5.2.0.82
Release 5.2.0.82

Change-Id: I9078f4254c75d256be3e31788a60231fa8a1eb70
CRs-Fixed: 774533
2018-06-08 15:18:54 -07:00
Jeff Johnson
22256fe28a qcacld-3.0: Fix sme_get_status_for_candidate() prototype
The hal param to sme_get_status_for_candidate() is incorrectly typed
to be a pointer to a tHalHandle when it should just be a tHalHandle,
so fix it.

Change-Id: I8799c334de58e196c1fcef2889fef4d9931b91f4
CRs-Fixed: 2255549
2018-06-08 14:26:28 -07:00
Jeff Johnson
d4c61de889 qcacld-3.0: Fix csr_get_parsed_bss_description_ies() context param
Currently csr_get_parsed_bss_description_ies() takes a tHalHandle
context param.  However CSR is an internal module, and hence it should
be using the "real" context pointer type tpAniSirGlobal instead of the
opaque reference tHalhandle, so update the API.

Change-Id: Id10bc9165f942b75ee1bd0e2e9b046ea484976e7
CRs-Fixed: 2255547
2018-06-08 14:26:28 -07:00
Jeff Johnson
57d8ee8f23 qcacld-3.0: Fix csr_parse_bss_description_ies() context param
Currently csr_parse_bss_description_ies() takes a tHalHandle context
param.  However CSR is an internal module, and hence it should be
using the "real" context pointer type tpAniSirGlobal instead of the
opaque reference tHalhandle, so update the API.

Change-Id: Iabb093ac924340b0a6bfa5185d0b9d5fcc440c91
CRs-Fixed: 2255547
2018-06-08 14:26:27 -07:00
Jeff Johnson
ed463e155c qcacld-3.0: Fix csr_rates_is_dot11_rate_supported() context param
Currently csr_rates_is_dot11_rate_supported() takes a tHalHandle
context param.  However CSR is an internal module, and hence it should
be using the "real" context pointer type tpAniSirGlobal instead of the
opaque reference tHalhandle, so update the API.

Change-Id: I9349e152b4818862f7ac406f7a8f96d78c4c1782
CRs-Fixed: 2255547
2018-06-08 14:26:27 -07:00
Jeff Johnson
ad4e805d34 qcacld-3.0: Fix csr_is_security_match() context param
Currently csr_is_security_match() takes a tHalHandle context param.
However CSR is an internal module, and hence it should be using the
"real" context pointer type tpAniSirGlobal instead of the opaque
reference tHalhandle, so update the API.

Change-Id: Ibaf8273ad45a7019d19f8793e2bfc35032221c8d
CRs-Fixed: 2255547
2018-06-08 14:26:27 -07:00
Jeff Johnson
c27696290d qcacld-3.0: Fix csr_retrieve_wapi_ie() context param
Currently csr_retrieve_wapi_ie() takes a tHalHandle context param.
However CSR is an internal module, and hence it should be using the
"real" context pointer type tpAniSirGlobal instead of the opaque
reference tHalhandle, so update the API.

Change-Id: I0dca1d6b64e3ef3698439277d05611d7051926c2
CRs-Fixed: 2255547
2018-06-08 14:26:27 -07:00
Jeff Johnson
c8f9b6789b qcacld-3.0: Fix csr_retrieve_rsn_ie() context param
Currently csr_retrieve_rsn_ie() takes a tHalHandle context param.
However CSR is an internal module, and hence it should be using the
"real" context pointer type tpAniSirGlobal instead of the opaque
reference tHalhandle, so update the API.

Change-Id: Ie410ef70ed38c569f1203f59a4fc8ce4ee30400d
CRs-Fixed: 2255547
2018-06-08 14:26:27 -07:00
Jeff Johnson
515b3ec473 qcacld-3.0: Fix csr_is_ssid_equal() context param
Currently csr_is_ssid_equal() takes a tHalHandle context param.
However CSR is an internal module, and hence it should be using the
"real" context pointer type tpAniSirGlobal instead of the opaque
reference tHalhandle, so update the API.

Change-Id: I3db1f07166f90de28c8ac8a6fb31480578b04caa
CRs-Fixed: 2255547
2018-06-08 14:26:27 -07:00
Jeff Johnson
17c7fbf755 qcacld-3.0: Fix csr_retrieve_wpa_ie() context param
Currently csr_retrieve_wpa_ie() takes a tHalHandle context param.
However CSR is an internal module, and hence it should be using the
"real" context pointer type tpAniSirGlobal instead of the opaque
reference tHalhandle, so update the API.

Change-Id: Ia2a7bb81a1bf4254ad5f557bcc77d71d36495bb8
CRs-Fixed: 2255547
2018-06-08 14:26:27 -07:00
Jeff Johnson
a6a191a2d7 qcacld-3.0: Fix csr_construct_wpa_ie() context param
Currently csr_construct_wpa_ie() takes a tHalHandle context param.
However CSR is an internal module, and hence it should be using the
"real" context pointer type tpAniSirGlobal instead of the opaque
reference tHalhandle, so update the API.

Change-Id: Id690878208d1e5ca97adfce94a61629a8788ede2
CRs-Fixed: 2255547
2018-06-08 14:26:27 -07:00
Jeff Johnson
079c002f0f qcacld-3.0: Fix csr_construct_rsn_ie() context param
Currently csr_construct_rsn_ie() takes a tHalHandle context param.
However CSR is an internal module, and hence it should be using the
"real" context pointer type tpAniSirGlobal instead of the opaque
reference tHalhandle, so update the API.

Change-Id: I812709f7c149788d04151ac0b2bf2d79527131b4
CRs-Fixed: 2255547
2018-06-08 14:26:27 -07:00
Jeff Johnson
b7de91b47c qcacld-3.0: Fix csr_get11h_power_constraint() context param
Currently csr_get11h_power_constraint() takes a tHalHandle context
param.  However CSR is an internal module, and hence it should be
using the "real" context pointer type tpAniSirGlobal instead of the
opaque reference tHalhandle, so update the API.

Change-Id: Ic7f622b8633726a03ace11951c6e53b7e0936beb
CRs-Fixed: 2255547
2018-06-08 14:26:27 -07:00
Jeff Johnson
9fbc233881 qcacld-3.0: Fix csr_get_rts_thresh() context param
Currently csr_get_rts_thresh() takes a tHalHandle context param.
However CSR is an internal module, and hence it should be using the
"real" context pointer type tpAniSirGlobal instead of the opaque
reference tHalhandle, so update the API.

Change-Id: I94d370739cd616b17eea922825417d5e9ab4bd3d
CRs-Fixed: 2255547
2018-06-08 14:26:26 -07:00
Jeff Johnson
cb2193a50d qcacld-3.0: Fix csr_get_frag_thresh() context param
Currently csr_get_frag_thresh() takes a tHalHandle context param.
However CSR is an internal module, and hence it should be using the
"real" context pointer type tpAniSirGlobal instead of the opaque
reference tHalhandle, so update the API.

Change-Id: I69ae6f07dd12cf79659c5e4c461fba1c7fa8ff46
CRs-Fixed: 2255547
2018-06-08 14:26:26 -07:00
Jeff Johnson
12ec010ffe qcacld-3.0: Fix csr_get_qo_s_from_bss_desc() context param
Currently csr_get_qo_s_from_bss_desc() takes a tHalHandle context
param. However CSR is an internal module, and hence it should be using
the "real" context pointer type tpAniSirGlobal instead of the opaque
reference tHalhandle, so update the API. In addition change "qo_s" to
"qos" to fix the typo in the name.

Change-Id: Ib5f53d55737138c708d47e79a68a2b1344dff5d2
CRs-Fixed: 2255547
2018-06-08 14:26:26 -07:00
Jeff Johnson
6e46f6d116 qcacld-3.0: Fix csr_roam_issue_ft_preauth_req() context param
Currently csr_roam_issue_ft_preauth_req() takes a tHalHandle context
param. However CSR is an internal module, and hence it should be using
the "real" context pointer type tpAniSirGlobal instead of the opaque
reference tHalhandle, so update the API.

Change-Id: I7d521ba558a64c87af72a6ce2d27eae93d1a633d
CRs-Fixed: 2255547
2018-06-08 14:26:26 -07:00
Jeff Johnson
639f6141eb qcacld-3.0: Fix csr_roam_issue_ft_preauth_req() context param
Currently csr_roam_ft_pre_auth_rsp_processor() takes a tHalHandle
context param. However CSR is an internal module, and hence it should
be using the "real" context pointer type tpAniSirGlobal instead of the
opaque reference tHalhandle, so update the API.

Change-Id: If8ca89e68cd0f38a65a68e1702ab3a43b130a277
CRs-Fixed: 2255547
2018-06-08 14:26:26 -07:00
Jeff Johnson
8aef3f695a qcacld-3.0: Remove unused csr_is_bss_id_equal() param
The hHal parameter to csr_is_bss_id_equal() is unused, so remove it.

Change-Id: I3d2f748732a32fd12b97466a468b485489bbf55d
CRs-Fixed: 2255487
2018-06-08 14:26:26 -07:00
Jeff Johnson
20ac1c4c5f qcacld-3.0: Remove unused csr_get_bss_id_bss_desc() param
The hHal parameter to csr_get_bss_id_bss_desc() is unused, so remove
it.

Change-Id: I41d2a4bc183114cb3f9ed89d7bb53314cd6e483c
CRs-Fixed: 2255486
2018-06-08 14:26:26 -07:00
Jeff Johnson
0da6fed495 qcacld-3.0: Remove unused csr_is_bssid_match() param
The hHal parameter to csr_is_bssid_match() is unused, so remove it.

Change-Id: Ia42ddac9ae070a0d71321eb25f39c038216d25d7
CRs-Fixed: 2255485
2018-06-08 14:26:26 -07:00
nshrivas
2a09bbc6c4 Release 5.2.0.81Z
Release 5.2.0.81Z

Change-Id: I42dd0c6d786fc4379061725b24dd7ef2704666d1
CRs-Fixed: 774533
2018-06-08 11:38:14 -07:00
Jeff Johnson
b9307a930e qcacld-3.0: Remove unused csr_is_ssid_in_list() param
The hHal parameter to csr_is_ssid_in_list() is unused, so remove it.

Change-Id: I8b08acb52e719f393543da593ddc421965c8b6c0
CRs-Fixed: 2255483
2018-06-08 11:38:13 -07:00
Jeff Johnson
1ad9a4889f qcacld-3.0: Remove csrValidateCountryString() prototype
Function csrValidateCountryString() no longer exists, but there is
still an obsolete prototype for it, so remove it.

Change-Id: I40869b7160cbc3e64b785e44711237455f2e02b0
CRs-Fixed: 2255482
2018-06-08 11:38:10 -07:00
Jeff Johnson
f8406bf8c9 qcacld-3.0: Change the underlying type of hdd_handle_t
Currently hdd_handle_t is defined as a void pointer. This is
convenient from an information hiding point of view since that means a
non-HDD component cannot dereference an HDD handle to access HDD
private data. However this is not convenient from a defect prevention
point of view since the C standard allows any other pointer type to be
freely and silently converted to and from a void pointer, and hence
the compiler is unable to detect when an HDD handle is used in a
context where a different pointer type is expected.

An example of one such defect was addressed by Change-Id
I2bbf1bf4a7975e5cb44066b6a3b1a98e82df9fad (qcacld-3.0: Fix bad param
passed during QoS Map conversion).

To help prevent this kind of defect change the definition of
hdd_handle_t to be a pointer to an opaque struct.

Change-Id: I6e885f84c0554bbe5c8582474fddb65ab6a0fdac
CRs-Fixed: 2254907
2018-06-08 11:38:06 -07:00
Jeff Johnson
b8f86ea873 qcacld-3.0: Fix bad param passed during QoS Map conversion
In sir_convert_qos_map_configure_frame2_struct() a HDD Handle is being
passed as the first parameter to convert_qos_mapset_frame() which is
expecting a pMac. Change the call to pass the pMac.

Change-Id: I2bbf1bf4a7975e5cb44066b6a3b1a98e82df9fad
CRs-Fixed: 2254955
2018-06-08 11:38:03 -07:00
nshrivas
a1ab5b12b0 Release 5.2.0.81Y
Release 5.2.0.81Y

Change-Id: I4c1aa1f534fb4e55de3e1000db467f3921f8023b
CRs-Fixed: 774533
2018-06-08 10:11:54 -07:00
Vignesh Viswanathan
228645aa79 qcacld-3.0: Validate TLV length in FILS wrapped data before processing
While processing FILS EAP TLVs present in FILS wrapped data in Auth Frame,
the tlv->length from the frame is used as the length to copy the buffer
into the FILS auth info without validating if the received buffer
length is at least greater than the length value in the TLV buffer.
This would lead to OOB read if the TLV length present in the frame is
greater than the actual data_len of the FILS wrapped data.

Add sanity check to return error if tlv->length is greater than wrapped
data_len + 2 with 2 bytes for the TLV header.

Change-Id: Ibe1183c8e318ceb75db6278c935786322a029d5c
CRs-Fixed: 2245944
2018-06-08 10:11:54 -07:00
Abhinav Kumar
edd1d37588 qcacld-3.0: Make channel list dynamic
Currently driver marks cache type as static when it sends valid
channel list to firmware to use for roaming. When cache type is
static, driver will not add WMI_ROAM_SCAN_MODE_RSSI_CHANGE in
wma_process_roaming_config.
Roam scan may not trigger upon RSSI change when mode does not
have WMI_ROAM_SCAN_MODE_RSSI_CHANGE and may have issues related
to roaming.

Mark channel list as dynamic based on newly added ini
"force_rssi_trigger" for valid channel list as well.
With this new ini , customers can tune the behaviour of
roaming scan in firmware based on RSSI trigger or periodic.

Change-Id: I04123cb954408fd510d41d2b6ba96144be0945f9
CRs-fixed: 2240544
2018-06-08 10:11:50 -07:00
Himanshu Agarwal
f5c5b10736 qcacld-3.0: Choose appropriate bandwidth while channel switch
If SAP comes up in 2.4Ghz channel in HT/VHT 20/40Mhz and channel
switch comes for a 5Ghz channel, SAP gets started in HT/VHT 20/40
Mhz only while it should connect in VHT80Mhz or HT40Mhz depending
on whether the initial connection is in HT or VHT.

Change the bw to 80Mhz if initial connection is in VHT and to 40Mhz
if initial connection is in HT if channel switch comes for a 5Ghz
channel.

Change-Id: I709dd35575866b7ec9fddcfb94078f114a78d1a2
CRs-Fixed: 2226979
2018-06-08 10:11:46 -07:00
Vignesh Viswanathan
3b4bf98056 qcacld-3.0: Add last beacon report indication and Frag ID sub elements
Add support for Last Beacon Report indication sub element and
Beacon Report Frame Body Fragment ID sub element to the beacon report IE
of Radio Measurement Frame.

Change-Id: I07facc245ca96b375779b30f61fc7659f1aa679d
CRs-Fixed: 2254248
2018-06-08 10:11:43 -07:00
Vignesh Viswanathan
b2dcdd024f qcacld-3.0: Send SME session ID in eWNI_SME_DISCONNECT_DONE_IND
Currently PE session ID is filled in eWNI_SME_DISCONNECT_DONE_IND
__lim_process_sme_disassoc_cnf but this command is expected to fill
SME session ID instead.

Send SME session ID instead of PE session ID for
eWNI_SME_DISCONNECT_DONE_IND in __lim_process_sme_disassoc_cnf function.

Change-Id: I50f7ec31eea265d04a94d9717415227bde09bdb5
CRs-Fixed: 2246024
2018-06-08 10:11:40 -07:00
jitiphil
5202b599f8 qcacld-3.0: Incorrect message offset validations in t2h message handling
Currently in htt_t2h_msg_handler_fast, msg_len, which is in number of
bytes, is directly compared with pdev->rx_mpdu_range_offset_words,
which is in number of words. Thus their comparison becomes invalid.
In htt_t2h_msg_handler, in addition to similar issue as above, the
checks for message offset validations do not consider integer overflows
occurring.

In htt_t2h_msg_handler_fast, the check condition involving
pdev_rx_mpdu_range_offset_words were corrected to work with bytes,
and in htt_t2h_msg_handler checks for integer overflow were also
added.

Change-Id: I9ec7d30cc24d288ddcabd3bb30674a2ca21f2251
CRs-Fixed: 2248069
2018-06-08 10:11:36 -07:00
nshrivas
7457b8ff36 Release 5.2.0.81X
Release 5.2.0.81X

Change-Id: I0e13e5668640574c55368b0a744f1b2f04b79480
CRs-Fixed: 774533
2018-06-08 08:31:01 -07:00