Commit Graph

2883 Commits

Author SHA1 Message Date
Prakash Dhavali
d4f499a103 Release 5.2.0.1C
Release 5.2.0.1C

This matches with cld3-1.1 dev tip:
9e4e2a8 Release 5.1.0.35L

CRs-Fixed: 688141

Change-Id: Iea5c6fc53919d2a02699736d83d20fc14bd2ad6a
2016-11-12 00:24:13 -08:00
Manjunathappa Prakash
af88fc7dfc Revert "qcacld-3.0: Dump Tx/Rx packets during connection"
This reverts Change-Id Icd08475c3f81aa182c902b8e8defbdb904c5509d

Above change was exceeding skb buffer size and leading to crash.
For now removing the support for dump Tx/Rx packets during connection.

Change-Id: I2aec7253511d2ca7b08ca77d858a46f9c01d4e9d
CRs-Fixed: 1083912
2016-11-12 00:24:05 -08:00
Amar Singhal
5f9978661c qcacld-3.0: Consolidate and rename regulatory macros
Consolidate regulatory macros in cds file and rename for
homogeneity.

Change-Id: I572eda616b985a39655dca3944e26fb1e0b5efb4
CRs-Fixed: 1058399
2016-11-12 00:24:03 -08:00
Amar Singhal
4b7b78bafe qcacld-3.0: Cleanup logging for channel list
Some of WMA channel logging is conditional on DFS flag.
Make it unconditional.

CRs-Fixed: 1058399
Change-Id: Ied01e0ad3ac13e1cafecc9656d56d180d9f8f8de
2016-11-12 00:23:56 -08:00
Amar Singhal
ea10a872ae qcacld-3.0: Change INDOOR channel check to PASSIVE channels
INDOOR channels may or may not be enabled for SAP. If
INDOOR channels are not enabled for SAP, they are converted
to PASSIVE channels. So remove PASSIVE channels from SAP
channel list. Also remove any function not getting called
any more.

CRs-Fixed: 1058893
Change-Id: I45da966ee8c4c0005a5ca185cb121bdbc8989f48
2016-11-12 00:23:48 -08:00
Amar Singhal
7c1a62f23f qcacld-3.0: Cleanup SME APIs
Remove APIs sme_change_config_param and csr_change_config_param.

Change-Id: I097c67da517e86b4d44901a01b0fe65e1a53b0a9
CRs-Fixed: 1058399
2016-11-12 00:23:41 -08:00
Amar Singhal
38c5eeb5f2 qcacld-3.0: Clean-up regulatory code further
Remove wait when sending regulatory_hint to kernel to get
channel list. Also remove extra call to csr_update_channel_list from
csr_start. Csr_ready already has call to csr_update_channel_list.

Change-Id: I315ba2095fc7eb0faa1454cddcc9ee3f28b087bf
CRs-Fixed: 1058399
2016-11-12 00:23:33 -08:00
Amar Singhal
8c8fa7f7b7 qcacld-3.0: Remove extra call to csr_update_channel_list
While running set_fcc_channel, call to csr_update_channel_list
is conditional on pending scan. Remove the unconditional
call to csr_update_channel_list. This is clearly a bug.

CRs-Fixed: 1058416
Change-Id: I1b3ce52111ef8b61dde9d26e353c48e48b80a90b
2016-11-12 00:23:26 -08:00
Amar Singhal
4f22ccd4dc qcacld-3.0: Remove hdd variable isVHT80Allowed
There are generic functions available in CDS to compute
channel width. Therefore remove the legacy variable
isVHT80Allowed from HDD. Also remove function
hdd_checkandupdate_phymode since the function is not
doing check on bandwidth.

Change-Id: Id2a33cc81cdea328a9d704858c6197d4be56b3d0
CRs-Fixed: 1054540
2016-11-12 00:23:19 -08:00
Varun Reddy Yeturu
658b8026a3 qcacld-3.0: Handle Reassociation request failure
qcacld-2.0 to qcacld-3.0 propagation

If pre-authentication is successful and the reassoc request
comes with an invalid BSSID, then clean up the PE session and
then clean up the upper layers like SME and HDD.

CRs-Fixed: 970551
Change-Id: Idb0ce24f4cb4e1f3dd02c3691e1698441b7606ce
2016-11-12 00:23:11 -08:00
Varun Reddy Yeturu
4d5efb943b qcacld-3.0: Fix possible dereference of NULL pointer
Fix possible dereference of pkt_stats_dump being NULL

Change-Id: I7fd67b02c3b7cb4f1bfe7c6f4641f6d881e25abd
CRs-Fixed: 1086146
2016-11-12 00:22:57 -08:00
Abhishek Singh
5695e2ad23 qcacld-3.0: Add support for p2p channel change confirm action frame
For ECSA once the channel switch is completed on CLI the CLI needs
to send p2p channel change confirm action frame to the GO.

This change adds support for p2p channel change confirm action
frame.

Change-Id: Id8339ca947b9397399c6de43018c2d43405d6c3c
CRs-Fixed: 1085525
2016-11-12 00:22:50 -08:00
Naveen Rawat
da92fae379 qcacld-3.0: Add check for NSS while parsing VHT Opmode update IE
VHT Opmode update IE in beacon is not getting processed, because
sch_bcn_process_sta_ibss only checks for difference in channel width
from current channel width. Add check for NSS as well while parsing
VHT Op Mode update IE in sch_bcn_process_sta_ibss.

Change-Id: Ideffe72332cf0a78ac80d5179eab6ba524335f93
CRs-Fixed: 1085109
2016-11-12 00:22:42 -08:00
Jeff Johnson
5aacdf9026 qcacld-3.0: Fix exception in hdd_get_station_statistics_cb()
An exception was observed in hdd_get_station_statistics_cb() when
validating the pStatsContext.  The speculation is that the caller had
already timed out, and the act of dereferencing the pStatsContext
caused an exception even though the context was on the caller's stack.
To fix this issue move the context from the stack to the BSS.

Change-Id: Ib7adf158e04b174bdf5745491b6787bc2e27d610
CRs-Fixed: 1086276
2016-11-12 00:22:34 -08:00
Dustin Brown
f27bce8764 qcacld-3.0: Stop pending PNO scan during unload
The driver unload path does not check for or stop pending PNO scans.
Stop any pending PNO scans during driver unload.

Change-Id: I96866979c1f4368cfbe5345bc208f12cde7f4b10
CRs-Fixed: 1084324
2016-11-12 00:22:26 -08:00
Hanumanth Reddy Pothula
dba58f5d45 qcacld-3.0: Update current 11d country code appropriately
Presently, current 11d country-code is updated during voting
mechanism with elected country code, leading Host to fail to
call regulatory hint, because Host invokes regulatory hint only
if elected country-code and current 11d country-code are different,
which will be updated while processing regulatory notifier.

Don't update current 11d country code before invoking regulatory
hint.

Change-Id: Ib66259ae9b743e1d202041ecfb4e91525eeb7052
CRs-Fixed: 1085025
2016-11-12 00:22:19 -08:00
Arif Hussain
0233ecd853 qcacld-3.0: Use at least MaxChannelTime dwell time for RRM scan
Use at least gPassive/gActiveMaxChannelTime dwell time in RRM scan
request, sometimes it’s impossible to detect AP's in scan with very
low dwell time specially in case of Passive beacon report request.

Change-Id: Id06c98d8119fbcf59b167ca310972799bf7df487
CRs-Fixed: 1085637
2016-11-12 00:22:17 -08:00
Ganesh Kondabattini
e353184920 qcacld-3.0: Disable GAP when concurrent sessions running
GAP should be enabled by host only when SAP is operating in stand
alone mode. Host should disable when there is a concurrent STA or
P2P session.

CRs-Fixed: 1065543
Change-Id: I1649bd5caca07abf2799892ad92d906474277acc
2016-11-12 00:22:15 -08:00
Ganesh Kondabattini
b07874fc42 qcacld-3.0: validate the green_ap_ctx before accessing it
qcacld-2.0 to qcacld-3.0 propagation

The green_ap_ctx is not checked for NULL pointer before accessing
it. This is leading to crash in FTM mode as green_ap_ctx is not
initialized.

CRs-Fixed: 1074982
Change-Id: I6b3cea999bfb44cfb6fa56aece6b423e638bfaa7
2016-11-12 00:22:13 -08:00
Kabilan Kannan
21eafc20c2 qcacld-3.0: Add scan start/stop event in TDLS connection tracker
TDLS connection tracker should be stopped, when firmware
sends scan started event and can be enabled again,
when firmware sends scan completed event.
Add changes to stop and start tdls connection tracker
based on scan events.

Change-Id: If61bca75d5f2c326d5e9c734bb8618d5cb67b246
CRs-Fixed: 1086302
2016-11-12 00:22:11 -08:00
Poddar, Siddarth
aed8dbbeeb qcacld-3.0: Address 32 bit specific compilation issue
Fix 32 bit compilation issues due to improper shift operation.
Also make bitwise operations compatible with 32-bit.

CRs-Fixed: 1085499
Change-Id: Ifceefb52cfc5b89ca3e1eb0b428b34a5f7f792dc
2016-11-12 00:22:09 -08:00
Manjeet Singh
aec78b5c9c qcacld-3.0: Fix 32-bit compilation errors
In function wlan_hdd_set_channel, frame size exceeds 1024
bytes due to static allocation of structure giving compilation
error for 32-bit compilers. To avoid frame size compilation error
use dynamic allocation instead of static allocation.

CRs-Fixed: 1085499
Change-Id: I351e08b74d1bd2b3ff9813de94e76af63b7acc94
2016-11-12 00:22:07 -08:00
Srinivas Girigowda
57b450e29e qcacld-3.0: Fix radio_stats to handle num_radios more than 1
In case of multiple radio, driver need to wait until it receives
all the radios stats and tx power levels stats and then
post the radio stats to user space.

Change-Id: I6e4f9ac8f0d2950551301589dfd8332e8c349605
CRs-Fixed: 992365
2016-11-12 00:22:05 -08:00
Srinivas Girigowda
a2cad3e888 qcacld-3.0: Add support for Tx transmit power level feature bit
This is a qcacld-2.0 to qcacld-3.0 propagation.

Set Tx transmit power level feature bit in get_supported_features.
Framework needs to distinguish the driver supporting this feature
v/s other vendors not supporting.

Change-Id: I7ab412c6f89ea2910431bb99072c2d6f9d20dc4a
CRs-Fixed: 992365
2016-11-12 00:22:03 -08:00
Srinivas Girigowda
52cbce42e4 qcacld-3.0: Add NULL check in radio_tx_power_stats
This is a qcacld-2.0 to qcacld-3.0 propagation.

Add a NULL check in radio_tx_power_stats.

Change-Id: I66aea57e124551dcbd94a62309cdeec5207ad6f5
CRs-Fixed: 992365
2016-11-12 00:22:01 -08:00
Srinivas Girigowda
ad874a8204 qcacld-3.0: Support for variable number of tx power level stats
This is a qcacld-2.0 to qcacld-3.0 propagation.

Currently, firmware sends static 64 number of tx power level stats.
This is not scalable, hence add the support to send variable number
of tx power level stats.

Change is, firmware sends a separate WMI event with tx power level stats
indicating the total/num tx power levels and offset in the event
followed by the TLV. Host driver radio stats event processing is complete
only after receiving the tx power level stats.

Change-Id: Icd2c3958e09b2ce60f61e902d3f2da8b97acb013
CRs-Fixed: 992365
2016-11-12 00:21:59 -08:00
Srinivas Girigowda
458f228137 qcacld-3.0: Add support for tx time per power level in radio stats
This is a qcacld-2.0 to qcacld-3.0 propagation.

Modify the existing radio_stat structure to add time spent
in each tranmission power level.

Change-Id: Ia5da997aabd5331e736d7367c9d74dfaf3e47906
CRs-Fixed: 992365
2016-11-12 00:21:57 -08:00
Sandeep Puligilla
afa5289e90 qcacld-3.0: Trigger host crash for command timeout
Add feature to trigger host crash when firmware
fails to send the response and host timesout.

Change-Id: I47f23e03f2729981a346e2a9e8c8541ba9119af4
CRs-Fixed: 1078192
2016-11-12 00:20:47 -08:00
Nishank Aggarwal
c35019638a qcacld-3.0: CL 1689168 - update fw common interface files
add radio_id in wmi_tx_power_level_stats_evt_fixed_param

Change-Id: I99482ce637f964367d529aaa39676ccfb036903c
CRs-Fixed: 865207
2016-11-12 00:12:24 -08:00
Nishank Aggarwal
9a415a8567 qcacld-3.0: CL 1686562 - update fw common interface files
NAN NDP channel config type and NAN20 responder policy defs.

Change-Id: I0a2415ad0651ea93c3907e0a7fa2f59d2cb7ed05
CRs-Fixed: 865207
2016-11-12 00:12:22 -08:00
Sandeep Puligilla
9ff96571b0 qcacld-3.0: CL 1685950 - update fw common interface files
WMI defs for DFS offload

Change-Id: Ief6ea8771ec130a94f19c7296930534364bdd2fb
CRs-Fixed: 865207
2016-11-12 00:12:19 -08:00
Sandeep Puligilla
1a726391f7 qcacld-3.0: CL 1684348 - update fw common interface files
Add WMI_COEX_CONFIG_TX_POWER def

Change-Id: I99f5ec28387ba97d1c6e73a2407a0f2984e67925
CRs-Fixed: 865207
2016-11-12 00:12:17 -08:00
Nishank Aggarwal
beedc3ede2 qcacld-3.0: CL 1683879 - update fw common interface files
WMI message to allow Specific Absorbtion Rate / tx power
limits to be set per band, chain, or modulation class.

Change-Id: Iece786a4e731462fd282e3eb3107541338a3af30
CRs-Fixed: 865207
2016-11-12 00:12:13 -08:00
Nishank Aggarwal
633e45ff84 qcacld-3.0: CL 1672988 - update fw common interface files
Add WMI pdev param to adjust or disable tx delay.

Change-Id: I3a0f9375c36e885532593ed26aba59bfc56d5c5a
CRs-Fixed: 865207
2016-11-12 00:12:10 -08:00
Kabilan Kannan
d053aaf155 qcacld-3.0: Allow TDLS mode configuration via vendor sub command
Android framework set tdls external control mode as a default
configuration and this conflicts with sigma DUT requirement
which expects TDLS in explicit trigger mode.
To solve this problem, we need a method to change the tdls
mode in wpa supplicant and host driver.
Add support to configure TDLS modes (Explicit, Implicit,
External Control) via vendor sub command.

Change-Id: Ib3c5258098975a573201a87e54674dc274afda77
CRs-Fixed: 1083694
2016-11-08 17:48:19 -08:00
Jeff Johnson
292764f01a qcacld-3.0: Remove obsolete pktlog_check_threshold()
"qcacld-3.0: Add infrastructure for pktstats based on linkedlist"
removed the only caller to function pktlog_check_threshold().  Since
this is now unused, remove it.

Change-Id: I37a3d561de248829e6f993fc98d9628476fbe874
CRs-Fixed: 1085689
2016-11-08 17:48:19 -08:00
Sandeep Puligilla
644ede365c qcacld-3.0: Fix null pointer dereference
During roaming join request pointer in the session
is not initilized and the same pointer gets dereferenced
as part of the heart beat timeout handler.

Add validation check before accessing the join request holder
in the session.

Change-Id: I92a4f13a611b9e8eb11dac1194e52ddd726dbc41
CRs-Fixed: 1084701
2016-11-08 17:48:19 -08:00
Kai Liu
55758e0c20 qcacld-3.0: Add adapter null pointer check when restart tdls timer
qcacld-2.0 to qcacld-3.0 propagation

Add null pointer check of adapter when restart tdls timer.

Change-Id: I78f244ad1a7ba21b3fad9cee8ec4e633bfe17a28
CRs-Fixed: 1080104
2016-11-08 17:48:19 -08:00
zding
f54169adbd qcacld-3.0: Add value check for RF bands attribute of WPS IE
qcacld-2.0 to qcacld-3.0 propagation

RF bands attribute of WPS IE in Probe.Req from STA/P2P device
is 2.4 and 5GHz although BandCapability=1 (2.4GHz) in qcom_cfg.ini
file. Set the value of RF bands attribute of WPS IE by checking
return value of function hdd_is_5g_supported and value of
BandCapability in qcom_cfg.ini.

Change-Id: I7a60ef79336c586dbad35308e958563c5205888a
CRs-Fixed: 979025
2016-11-08 17:48:19 -08:00
Liangwei Dong
aef84347a8 qcacld-3.0: On demand OBSS scan of SAP
qcacld-2.0 to qcacld-3.0 propagation

To shorten the SAP starting time, the OBSS scan
can be skipped if the ACS scan is performed
and the ACS scan channels cover the OBSS scan
channel list.
This change caches the ACS channel list and
skip the OBSS scan if necessary.

Change-Id: Iae54115051ae037c83b8dd2b639754f941c1d0f5
CRs-Fixed: 1073053
2016-11-08 17:48:18 -08:00
Yingying Tang
d566107c90 qcacld-3.0: Fix incorrect NULL pointer check for SME
Propagate from qcacld-2.0 to qcacld-3.0

Currently there are some places where array name is compared to NULL
in SME. Add fix to correct it.

CRs-Fixed: 1063255
Change-Id: Id37e8b6fc483d41c4e5b48bb78c295acc08a0328
2016-11-08 17:48:18 -08:00
Yingying Tang
3cc6b79f29 qcacld-3.0: Fix incorrect NULL pointer check for HDD layer
Propagate from qcacld-2.0 to qcacld-3.0

Currently there are some places where array name is compared to NULL
in HDD. Add fix to correct it.

CRs-Fixed: 1063255
Change-Id: Ic8b6ce003a918890bae6d9c81f6732472333528e
2016-11-08 17:48:18 -08:00
Liangwei Dong
ec9be936cb qcacld-3.0: add OBSS scan param IE to probe response
qcacld-2.0 to qcacld-3.0 propagation

Add OBSS scan parameter IE to probe response frame
in SoftAP mode. To avoid some station can't find
OBSS parameter and do not schedule OBSS scan.

Change-Id: If22944b216ff10bafb98b5a2d3e4f2f1abe61333
CRs-Fixed: 909694
2016-11-08 17:48:18 -08:00
zding
230175c758 qcacld-3.0: Add presence check for structure tDot11fQosMapConfigure
qcacld-2.0 to qcacld-3.0 propagation

Current logic use the "not present" structure tDot11fQosMapConfigure
to calculate the array index which lead to the array overflow and
crash of VosMCThread. Add check code to avoid this problem.

Change-Id: Ifa08b24a06e409fed1bd445574127fef02f21d19
CRs-Fixed: 978582
2016-11-08 17:48:18 -08:00
gbian
2e02659bfe qcacld-3.0: Fix skb corruption in fragment RX handling
qcacld-2.0 to qcacld-3.0 propagation

Add packet length check for HTT_T2H_MSG_TYPE_RX_FRAG_IND message.
Do not clone the RX frag buffer in the ol_rx_fraglist_insert, and all
buffer will be freed by ol_rx_frag_indication_handler or upper layer to
avoid double free issue.

Change-Id: I977ed9109a476a092dfb298386625a707bc98191
CRs-Fixed: 1039135
2016-11-08 17:48:18 -08:00
jge
fa1edbe021 qcacld-3.0: Initialize vdev_nss in psession when roaming
Propagation from qcacld-2.0 to qcacld-3.0.

When Dut is configured as 1*1, after roaming to 2*2 AP,
the linkspeed is not right, it will display 144Mpbs rather
than 72Mbps. Because it uses wrong peer_nss and
peer_rate_caps in WMI_PEER_ASSOC_CMDID.

Change-Id: I8700621fbef9c9b4867ac698f7f721d4ffb7d967
CRs-Fixed: 1031447
2016-11-08 17:48:18 -08:00
Hong Shi
1553d6962a qcacld-3.0: Fix ibss vendor regression issue
qcacld-2.0 to qcacld-3.0 propagation

Vendor ibss feature doesn't work  because the wpa ie is cleared by
setting vendor specific ie. Per vendor spec, need add logic to replace
vendor specific ie instead of simply overwrite or append to exist ie.

Change-Id: Ie1569b22e22716abcf7d215c2e93870b84cf668f
CRs-Fixed: 962051
2016-11-08 17:48:17 -08:00
Srinivas Girigowda
5e7dafe926 qcacld-3.0: Fix incorrect error handling in hdd_module_init()
The function wlan_init_sysfs() returns 0 on success; and
errno on failure. Fix this error handling to check for ret instead of !ret.

Change-Id: I9acc30985735b014464b83c9e3dffea2d1cb4226
CRs-Fixed: 1085184
2016-11-08 17:48:17 -08:00
Hanumanth Reddy Pothula
d9491f4936 qcacld-3.0: Validate session-id before processing cfg operation
While processing cfg operation, there is possibly of sending
invalid session-id to firmware, which may lead to device crash.
So, validate session-id before processing cfg operation.

Change-Id: I06014598e56f31b66d645f0380f5188dbe956f4f
CRs-Fixed: 1080697
2016-11-08 17:48:17 -08:00
Jeff Johnson
1c7c51da83 qcacld-3.0: Properly validate the band in vendor scan command
Currently in __wlan_hdd_cfg80211_vendor_scan() the band parsed from
the QCA_WLAN_VENDOR_ATTR_SCAN_SUPP_RATES is not sufficiently validated
before being used. Validate the actual value before attempting to use
it as an index.

Change-Id: I0db43ab8e73e20c8cb60a75a521a934967615023
CRs-Fixed: 1085099
2016-11-08 17:48:17 -08:00