Grafik Komit

2873 Melakukan

Penulis SHA1 Pesan Tanggal
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
Prakash Dhavali
6e5ad2a710 Release 5.2.0.1B
Release 5.2.0.1B

This mathces with following cld3-1.1 dev tip:

2837390 Add SSID length boundary check while processing vendor scan request
3487e4c Release 5.1.0.34T

CRs-Fixed: 688141

Change-Id: I0f454db5eaec58dfa3f48995f7ad97f5de9a6dc1
2016-11-03 18:11:40 -07:00
SaidiReddy Yenuga
89c58d2137 qcacld-3.0: Add SSID length boundary check while processing vendor scan request
While extracting SSID from nl attributes, Currently there is
no boundary check for max and min length. Hence host causes
buffer overflow.

As a part of this fix, Add ssid array boundary check to avoid
buffer overflow.

CRs-Fixed: 1069298
Change-Id: I395be358f7bf3f23bb9453d1ed6c3dc9025f4aab
2016-11-03 17:54:08 -07:00
Naveen Rawat
bc17724e7a qcacld-3.0: Get self SU and MU beamformee cap from cfg
Get self SU and MU beamformee cap from cfg in function
populate_dot11f_vht_caps in case of session is NULL so that
absolute self cap will reflect values that are intersection
of ini configuration and firmware capability.

Change-Id: Ic177382e6922e4c117cb01c78dd9b16437659496
CRs-Fixed: 1082131
2016-11-03 17:54:08 -07:00
Selvaraj, Sridhar
ecc81df033 qcacld-3.0: Add support to invoke LFR3 reassoc when RSO mode is STOP
With AUTO ROAM issue, Supplicant disables roaming to other BSS
and expects driver/firmware to re-associate to a specific BSS.
Currently, host driver sets RSO to STOP[disable LFR3] completely
when supplicant invokes disable roaming and when subsequent connect
comes from supplicant, host is doing disconnect and connect.

This fix adds provision to invoke LFR3 reassociation even when
RSO Stop is issued previously to firmware. It is achieved by setting
WMI_ROAM_SCAN_MODE_ROAMOFFLOAD along with WMI_ROAM_SCAN_MODE_NONE
in mode of RSO Stop command.

Change-Id: Iaa8bb455b3b61adac725beca4494ed792ca00fe0
CRs-Fixed: 1078139
2016-11-03 17:54:08 -07:00
Deepak Dhamdhere
071681612a qcacld-3.0: Mark zero length keys as not installed
Encryption key with zero length are installed in some scanarios.
If PMF is enabled for the session, privacy bit on deauth and
disassoc transmit frames is wrongly set.

Fix: Do not set is_key_installed flag if key length is 0.

CRs-Fixed: 1080127
Change-Id: Iad92c8acbaad504fd69dab585d1bf40afa6de206
2016-11-03 17:54:08 -07:00
Deepthi Gowri
6acee3432d qcacld-3.0: Use system time instead of jiffies for BSS received time
During late suspend jiffies will not be incremented. Because of this
scan results are not age out as the delta of current time and the BSS
received time is not correct.

To address this, use the system time instead of jiffies for the
BSS received time and also make sure to use system time in all
other functions.

Change-Id: I4a9cd35ad5109ee2a33cfcafc9b03d5fcd80bb3f
CRs-Fixed: 1083225
2016-11-03 17:54:07 -07:00
gbian
7288cf5bf7 qcacld-3.0: improve mboxping TX t-put for SDIO project
qcacld-2.0 to qcacld-3.0 propagation

Return HTC_SEND_FULL_KEEP directly in epping_tx_queue_full function
and give nodrop pkts higher priority over normal pkts

Change-Id: Ib36e1a9f34eb9054b12f0e8ba54a86ace7d6c8f8
CRs-Fixed: 990726
2016-11-03 17:54:07 -07:00
Paul Zhang
f1b455c7b5 qcacld-3.0: Ensure the fw parameters are restored
Propagation from qcacld-2.0 to qcacld-3.0.

It is the regression issue caused by ChangeId
I6223ab27c2285c53c45fd388bd56cadc6d348324. When changing
the TX_WAKE_THRESHOLD to TX_WAKE_THRESHOLD_NEVER, the
function wmi_unified_set_sta_ps_param will set
iface->ps_enabled to FALSE. Because of this in function
wma_set_vdev_resume_dtim, "iface->ps_enabled == TRUE"
check fails which is not expected.

To mitigate this issue, remove the unnecessary code
related to iface->ps_enabled.

Change-Id: I59a8b150cf8383bf265c048c9fa1b26646e68dc0
CRs-Fixed: 1039904
2016-11-03 17:54:07 -07:00
Liangwei Dong
271f92f582 qcacld-3.0: Fix station scan AP failed in SAP+STA mode
qcacld-2.0 to qcacld-3.0 propagation

If SAP interface is up then STA interface can't find
the AP most of the time as a result of SCAN parameters
are getting set to 28ms active dwell time and 0
repeated probe (which means only 1 probe for 28ms of
active dwell time).

Test results suggest that 1 Probe request through out
the active dwell time in noisy environment is not good
enough, so sending two probe requests with each 11ms
apart would make the scan results little better.

Implement above suggested solution by changing
probe_time_dwell_time_map's repeated probe time to
11ms so that n_probes (number of probes) becomes 2
by n_probes = (dwell_time_active/repeat_probe_time)
= (28/11) = 2.

Change-Id: I8a3f3dbaf70c666973454e3266e0dabe0df1c9ea
CRs-Fixed: 992655
2016-11-03 17:54:07 -07:00
Liangwei Dong
df50df97c3 qcacld-3.0: Fix SapAllChnlList memory leak
qcacld-2.0 to qcacld-3.0 propagation

"MEMORY_DEBUG" enabled driver shows the
SapAllChnlList is not freed upon driver unloading
in SNS test. This commit fixes this issue by
freeing channel list in WLANSAP_CLOSE API.

Change-Id: I1c954336e14746060fec19f3ad89b3d4882306af
CRs-Fixed: 985334
2016-11-03 17:54:07 -07:00