Commit graph

5,800 commits

Author SHA1 Message Date
Kabilan Kannan
703fc299e9 qcacld-3.0: Fix the incorrect error check in scan function
Due to incorrect error check wlan scan abort request
consistently fails.
Fix the error check statement.

Change-Id: I342f96596daaad9e6668059a7085dd215ff5241f
CRs-Fixed: 2049396
2017-07-21 21:20:37 -07:00
snandini
76174efb05 Release 5.2.0.35J
Release 5.2.0.35J

Change-Id: Ie1f0f800c615786f7d47476b167eac734484bc37
CRs-Fixed: 774533
2017-07-21 16:00:44 -07:00
Rajeev Kumar
d9a43cfbe4 qcacld-3.0: Add vdev validity check before sending vdev set param
If vdev is deleted FW can assert if host sends any vdev set param command.
Add vdev validity sanity check and reject vdev param set request after
vdev is deleted.

Change-Id: I65c303ef2e2a941cb2629f3fbc0862acf6e306d3
CRs-Fixed: 2079273
2017-07-19 16:28:43 -07:00
snandini
b884999812 Release 5.2.0.35I
Release 5.2.0.35I

Change-Id: Icb85ac525b37c63a82310a292bf7fd936ccae95b
CRs-Fixed: 774533
2017-07-18 15:49:39 -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
Tushnim Bhattacharyya
825b0f7ac6 qcacld-3.0: preferred_rx_streams to reflect correct NSS value
preferred_rx_streams to reflect the NSS value with which association to the
AP happened in STA mode.

Change-Id: Ia2ecfb7ba055c3644410b0ff908812f0f94ba4c7
CRs-Fixed: 2077040
2017-07-18 15:49:37 -07:00
snandini
8c76505521 Release 5.2.0.35H
Release 5.2.0.35H

Change-Id: I5177a1bc0b6acd0787e913d8307f9b0fdb5283f9
CRs-Fixed: 774533
2017-07-18 07:43:32 -07:00
Jiachao Wu
08719b0c38 qcacld-3.0: iwpriv set_txchainmask 0 shouldn't change mode
If user set invalid txchainmask, driver shouldn't change the value.

Change-Id: Ifd600e439e967845bfa874220a3e1508bc26a3ba
CRs-Fixed: 2070620
2017-07-18 07:43:32 -07:00
snandini
697888b35a Release 5.2.0.35G
Release 5.2.0.35G

Change-Id: If59b328a5c5510b1dc6847db2a6e8aed174d2e59
CRs-Fixed: 774533
2017-07-18 05:54:26 -07:00
Will Huang
558f8085c4 qcacld-3.0: Add support of request peer stats info(part 2)
qcacld-2.0 to qcacld-3.0 propagation

FW has limitation to support old WMI_REQUEST_STATS_CMDID and
WMI_UPDATE_STATS_EVENTID interface on AP vDev. FW suggest to use new
WMI_REQUEST_PEER_STATS_INFO_CMDID and WMI_PEER_STATS_INFO_EVENTID to
get tx/rx rate.

This checkin is about LIM/SME/SAP layer, provide SME APIs/callbacks
to HDD layer to get SAP's peer station tx/rx related information,
fill these information from wma layer get-peer-stat-info APIs and
peer station's association request frame. It also fixed function
csr_send_assoc_ind_to_upper_layer_cnf_msg when copy information
between different structures and using offset style.

Change-Id: Icb1aaa126663af7eaedd1c4db86ca25c40ce6ee9
CRs-Fixed: 2051628
2017-07-18 05:54:26 -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
Sreelakshmi Konamki
2972b6e3cb qcacld-3.0: Do not remove addts/delts command in csr_roam_sync_callback
Currently addts and delts commands are removed as part of
csr_roam_sync_callback. After successful roaming add_tspec of
old connection is not processed in SME (entry of addts command is NULL
in smeCmdActiveList). As there is no active add tspec in SME,
VO data is downgraded to BE.

To fix above issue, do not remove addts/delts commands from SME queue and
in PE layer do the error handling for addts to send resp for all
failure cases.

Change-Id: Ibc7364d188c3002dd8067738f6bcc8fee2af2126
CRs-Fixed: 2076713
2017-07-18 05:54:23 -07:00
snandini
7810c77082 Release 5.2.0.35F
Release 5.2.0.35F

Change-Id: I1bb3517717e520a09a8ea4faeb422d984f30e719
CRs-Fixed: 774533
2017-07-18 03:49:25 -07:00
Ashish Kumar Dhanotiya
41a5a77621 qcacld-3.0: Fix out of bound memory access
There is a possibility of OOB memory access within api
wlan_hdd_qcmbr_command.
To resolve this issue add appropriate buffer length check before
using the buffer.

Change-Id: I3bc0bb74e07fbf4b5c1f2163c9fb0b80d8839d0d
CRs-Fixed: 2075278
2017-07-18 03:49:25 -07:00
snandini
2a54dc402b Release 5.2.0.35E
Release 5.2.0.35E

Change-Id: I4cbd0656dcea0068e181b06eb648e696e2a87089
CRs-Fixed: 774533
2017-07-18 01:58:53 -07:00
Rajeev Kumar
f46083e0e5 qcacld-3.0: Move CLD components outside core folder
Core is legacy module folder in CLD. Hence move MCL specific
components folder outside core.

Change-Id: Iba3f9fdb06ad10dc4a5b19f3ff1ffa23f7372605
CRs-Fixed: 2077963
2017-07-18 01:58:53 -07:00
snandini
5c84bf7916 Release 5.2.0.35D
Release 5.2.0.35D

Change-Id: I3c91be28c44c18af7ac4ded98397605311356626
CRs-Fixed: 774533
2017-07-17 21:48:06 -07:00
Zhang Qian
303ebe9dbf qcacld-3.0: Add mac counters for per-antenna TX/RX stats
qcacld-2.0 to qcacld-3.0 propagation

New MAC counters are added to count MPDUs received and transferred
on each antenna.

Change-Id: Ia7fbf7642922f006882619848459192dcfca3c40
CRs-Fixed: 2043156
2017-07-17 21:48:05 -07:00
Lin Bai
ceb4d64b3e qcacld-3.0: Fix fragile code in dphInitStaState
qcacld-2.0 to qcacld-3.0 propagation

In dphInitStaState function, it will implicitly assume that, the last
member of structure tDphHashNode is *next* pointer, which is fragile and
risky.

Save the *next* pointer in local variant and restore after whole
structure zeroed.
This will need additional CPU ticks but eliminate the risk.

CRs-Fixed: 2055505
Change-Id: I6baf3eddea965eda4e7f7ca88fef54709964febc
2017-07-17 21:48:03 -07:00
Houston Hoffman
77bf407f75 qcacld-3.0: free memory in csr_get_snr error path
Free allocated message container when csr_roam_get_session_id_from_bssid
fails.

Change-Id: I088d3866d2c8052ef65ce5a719dd6c478d98e293
CRs-Fixed: 2077460
2017-07-17 21:48:01 -07:00
snandini
4aa3e5aac4 Release 5.2.0.35C
Release 5.2.0.35C

Change-Id: Ic7f6c518fd011ddeee896d070c1b08e79a5b5925
CRs-Fixed: 774533
2017-07-17 20:55:27 -07:00
Srinivas Girigowda
fc8b4ffc0f qcacld-3.0: Move the logs to appropriate log levels
Move the logs to appropriate log levels.

Change-Id: I184a8a58541daa1b29f042db9bcbeadc254b5c38
CRs-Fixed: 2063642
2017-07-17 20:55:27 -07:00
Srinivas Girigowda
11c28e0022 qcacld-3.0: Replace NL80211_BAND_2GHZ with HDD_NL80211_BAND_2GHZ
warning: implicit conversion from enumeration type 'enum
nl80211_band' to different enumeration type 'enum ieee80211_band'
[-Wenum-conversion]

Replace NL80211_BAND_2GHZ with HDD_NL80211_BAND_2GHZ and
NL80211_BAND_5GHZ with HDD_NL80211_BAND_5GHZ.

Change-Id: I15a905a599b87fc1a876c5f1b7bd6d69b2ba0f15
CRs-Fixed: 2055487
2017-07-17 20:55:22 -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
Srinivas Girigowda
d3b31e205a qcacld-3.0: Fix clang warnings in LIM
qcacld-3.0/core/mac/src/pe/lim/lim_process_mlm_req_messages.c:487:10:
warning: implicit conversion from enumeration type 'enum eSirRetStatus'
to different enumeration type 'tSirResultCodes'
(aka 'enum eSirResultCodes') [-Wenum-conversion]

qcacld-3.0/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c:459:37:
warning: implicit conversion from enumeration type 'tLimSmeStates'
(aka 'enum eLimSmeStates') to different enumeration type 'tLimMlmStates'
(aka 'enum eLimMlmStates') [-Wenum-conversion].

Change-Id: I649618105b220d69c8b79dcae0983ae6d75746c0
CRs-Fixed: 2055487
2017-07-17 20:55:19 -07:00
Srinivas Girigowda
7f8cb144b8 qcacld-3.0: Fix clang warnings implicit conversion from enum tLimSmeStates
warning: implicit conversion from enumeration type 'tLimSmeStates
(aka 'enum eLimSmeStates') to different enumeration type 'tLimMlmStates'
(aka 'enum eLimMlmStates') [-Wenum-conversion].

Change-Id: I659776ce18feaf1e566d6c9ff5cbd6d348016d65
CRs-Fixed: 2055487
2017-07-17 20:55:17 -07:00
snandini
d0072c5516 Release 5.2.0.35B
Release 5.2.0.35B

Change-Id: I9e5594851d10f1fda5274f6a638b5d6a7f7494d6
CRs-Fixed: 774533
2017-07-17 20:05:16 -07:00
Srinivas Girigowda
7c5fd6877a qcacld-3.0: Remove CONFIG_ from CONFIG_INET_LRO in Kconfig
Kernel, by default prepends "CONFIG_", hence
Remove CONFIG_ from CONFIG_INET_LRO.

Change-Id: I9bfec30e1814d8f3b7875a8a8926e251dd282441
CRs-Fixed: 2076950
2017-07-17 20:05:15 -07:00
Varun Reddy Yeturu
9e0032c720 qcacld-3.0: Use API to change the connection state
Use the API hdd_conn_set_connection_state to change the
HDD connection state

Change-Id: I3635cec841a3788c9576e8e49ab859e21d89e32d
CRs-Fixed: 2076017
2017-07-17 20:05:14 -07:00
snandini
9c9e34211d Release 5.2.0.35A
Release 5.2.0.35A

Change-Id: I46f1e1103bdaea51e6724ba4a1eb1b3389ce2a90
CRs-Fixed: 774533
2017-07-17 18:29:15 -07:00
Will Huang
48701e295f qcacld-3.0: Move short name redefinitions from qca_vendor.h
These short name redefinitions should just be used in source file for
convenience, should not exist in qca_vendor.h where interfaces are
defined there.

To avoid checkin two way dependencies, add ifndef/define in source file
and first checkin qcacmn head file which remove these redefinitions,
then remove these ifndef/define from source file in another change.

Change-Id: I5318de88b569085f26212e960b79048e8a2481a8
CRs-Fixed: 2076521
2017-07-17 18:29:15 -07:00
Wu Gao
3545e64d4a qcacld-3.0: Cleanup DFS CAC timer when SSR and reset all adapters
In SAP and SSR case, it won't cleanup DFS CAC timer until up layer
kill hostapd. It will call wlansap close when hostapd exit. If
enable sap internal restart in this case, it will double init DFS CAC
timer, which cause abnormal in kernel. Solution is cleanup DFS CAC
timer when reset all adapters.

Change-Id: I96962349af548074e226976c8c01cd5a8710ed3f
CRs-fixed: 2075904
2017-07-17 18:29:13 -07:00
snandini
421838aae6 Release 5.2.0.35
Release 5.2.0.35

Change-Id: I2f0bc975e4ac5432fb265f0086585b800d87765a
CRs-Fixed: 774533
2017-07-17 17:39:00 -07:00
Varun Reddy Yeturu
0648801140 qcacld-3.0: Do not send RSO Stop when roam sync is in progress
Avoid sending a RSO stop because of a disconnect when roam
sync is in progress. It is not needed to send a RSO stop
since the host would eventually trigger a disconnect and
send down an RSO stop anyways. Sending a RSO stop woould lead
to unnecessary complication where the firmware would send
a HO_FAIL and then this would be queued and the host disconnect
would be handled first and as part of processing the user
disconnect, a peer delete would be sent down to firmware,
which has already been cleaned up by the firmware earlier.

Change-Id: Ic89f97308c3d63977dda61fcadc450432fb16524
CRs-Fixed: 2052449
2017-07-17 17:39:00 -07:00
Zhang Qian
65e2e8d072 qcacld-3.0: Add sap operation mode to MAC global context
SAP operation mode is not updated to MAC global context once
user layer APP updates STA roaming policy. This will make
unsafe channel ignoring ineffective.

Change-Id: I5727e950e2097d55daf6745b4f443b89cc681dc8
CRs-Fixed: 2074237
2017-07-17 17:38:58 -07:00
Dustin Brown
12a960213e qcacld-3.0: Populate stats_mask when requesting stats
wma_get_stats_req does not populate the requested statistics bitmask
before forwarding the request to WMI. Popluate the given statistics
bitmask into the WMI request in wma_get_stats_req, so firmware can
provide the desired statistics.

Change-Id: I6dbf7bf1fb2cf6b20bcd4f2fb91f9add5dd3d779
CRs-Fixed: 2075379
2017-07-17 17:38:57 -07:00
Deepak Dhamdhere
64bfe97415 qcacld-3.0: Schedule work for peer_unmap_timer_handler actions
Mutex cannot be used when peer_unmap_timer_handler() calls
cds_trigger_recover() because it runs in soft_irq. Schedule work
to perform the recovery instead.

CRs-Fixed: 2060775
Change-Id: I9a9554ef0aa9288bf5abe22cd2513d8cc41c29d4
2017-07-17 17:38:55 -07:00
bings
5f0ae149d9 qcacld-3.0: Mask sdio host controller interrupts in shutdown
Driver should mask the sdio host controller interrupts in ssr
shutdown callback, or routine mmc_signal_sdio_irq is called
unexpectedly and causes crash.

Change-Id: I8551a7d809bf115d2df9735c8c7a30045f717cd1
CRs-Fixed: 2076658
2017-07-17 17:38:52 -07:00
snandini
775378deef Release 5.2.0.34Z
Release 5.2.0.34Z

Change-Id: I1e11c828b26397b7ac0f98339a286ef11422b6f7
CRs-Fixed: 774533
2017-07-17 01:48:24 -07:00
tfyu
0380a97ccc qcacld-3.0: Do RX packet aggregation for every 16th packet
Do RX packet aggregation for every 16th packet except the ICMP packets,
if the platform is not SMP platform. This change will contribute to improve
standalone SAP/STA RX TPUT when IPA uC offload is enabled by reducing
CPU utilization.

And this change is progagated from CLD2.0 driver with below commits:

bfaad0cb3b0f77d1940eb1d782bd8d125c557bbc
5d960eac83008cad60ff3e7abe1bbebb00b53cf6
c7d2405d7e8e4ba3a5eecbbaa177f4895036a4eb

Change-Id: I256e65ec2399b9b24eec4ccca7fdd662e326838f
CRs-Fixed: 2075793
2017-07-17 01:48:23 -07:00
snandini
d16e80f153 Release 5.2.0.34Y
Release 5.2.0.34Y

Change-Id: I90874e55148075fa12fdedd337643bc717261b4d
CRs-Fixed: 774533
2017-07-16 07:01:28 -07:00
Manjunathappa Prakash
6c54736903 qcacld-3.0: Add changes for Napier flow control
Adds support for flow control on convergence branch.
We will have global pool and each vdev coming up will have the
descriptors allocated from global pool. Tx queue is paused and unpaused
internally in host based on the stop and start thresholds.
Changes are added under compilation flag QCA_LL_TX_FLOW_CONTROL_V2.

Change-Id: I0ccb80b0099f39efad52ccd7d47f2709fdee2a93
CRs-Fixed: 2040457
2017-07-16 07:01:28 -07:00
snandini
ca529d56e4 Release 5.2.0.34X
Release 5.2.0.34X

Change-Id: I42e3fabbdcee46d366f3285dbad26af406a88b01
CRs-Fixed: 774533
2017-07-14 23:51:56 -07:00
Abhishek Singh
e9a1701052 qcacld-3.0: Update addr3 in beacon if addr3 is 0 during roam sync ind
During roam sync indication if the addr3 of the beacon is 0, the
PE session is created with bssid 0. Now if disconnect is received
from AP or heartbeat failure happens, LIM is not able to find the
session from the BSSID and thus VDEV delete is not sent to firmware
but sme session is cleaned up.

If a new connect req is received from supplicant it tries to disconnect
the existing session, but as sme session is not connected, disconnect
is dropped and connect req is processed and thus VDEV start is sent
without VDEV stop leading to firmware crash.

To fix this, if the addr3 of the received beacon/probe in roam sync is
0, update it to BSSID from bssid provided by firmware in the sync
indication.

Change-Id: I9b7e7b6059fbd0e1bb9a59ce28acff469c2ed97b
CRs-Fixed: 2076012
2017-07-14 23:51:56 -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
Abhishek Singh
4c1ec99d15 qcacld-3.0: Add MBO IE in assoc response for RSSI based assoc reject
Add MBO IE in assoc response to extract params for RSSI based
assoc reject.

Change-Id: I426e99e490c58aff5e1fa90b763dd5f788d63fa5
CRs-Fixed: 2063865
2017-07-14 23:51:52 -07:00
snandini
3f1acb12fe Release 5.2.0.34W
Release 5.2.0.34W

Change-Id: I118492124a0458a2f9b05fbe4de0aece948bfd0d
CRs-Fixed: 774533
2017-07-14 18:34:13 -07:00
Krishna Kumaar Natarajan
85cdd6bb15 qcacld-3.0: Update lim_compute_crc32() to pass uint16_t
Update lim_compute_crc32() to pass uint16_t as a length type.
Currently uint8_t is being passed as length and there will be type
mismatch when authentication frame to be encrypted will be larger
than 255 bytes.

Change-Id: Ic009197c13a2d70c9015a184acff2e82bf80eaba
CRs-Fixed: 2060959
2017-07-14 18:34:12 -07:00
Krishna Kumaar Natarajan
218693aa5a qcacld-3.0: Update SIR_MAC_AUTH_CHALLENGE_LENGTH as per IEEE spec
Update SIR_MAC_AUTH_CHALLENGE_LENGTH to 253 as per IEEE spec.
Currently value of SIR_MAC_AUTH_CHALLENGE_LENGTH is set to 128.
This may result in potential buffer overflow since frame parser
allows challenge text of length upto 253 but driver can not handle
challenge text longer than 128 bytes.

Change-Id: I7baf860fdde51a14a6573b4f0f26817f5071193e
CRs-Fixed: 2060959
2017-07-14 18:34:11 -07:00
snandini
9e63360070 Release 5.2.0.34V
Release 5.2.0.34V

Change-Id: I5d87779aad89507c39d4b3b9882a60badd37b38a
CRs-Fixed: 774533
2017-07-14 17:36:11 -07:00