Commit Graph

6215 Commits

Author SHA1 Message Date
SaidiReddy Yenuga
3db3877f07 qcacld-3.0: Validate NLA attr in wlan_hdd_cfg80211_ocb_set_config API
NLA attributes QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_NDL_CHANNEL_ARRAY,
QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_NDL_ACTIVE_STATE_ARRAY,
QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_CHANNEL_ARRAY used without
validation.

validate NLA attributes.

CRs-Fixed: 2025619
Change-Id: Ib5aae0d89b06913ec57ce446a2bd8925d125dfea
2017-07-31 07:14:19 -07:00
SaidiReddy Yenuga
32fa740c85 qcacld-3.0: validate NLA attr in wlan_hdd_cfg80211_set_ext_roam_params
NLA attr QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PREFS
used without validation.

validate NLA attribute.

CRs-Fixed: 2025636
Change-Id: I810f6a15b425638330211919c606e52de562cf9c
2017-07-31 07:14:17 -07:00
SaidiReddy Yenuga
a56dc1e5b0 qcacld-3.0: Trim operation classes to max supported in change station
qcacld-2.0 to qcacld-3.0 Propagation.

Operation classes supported can be controlled by user, which can
be sent greater than the max supported operations. This results
in stack overflow in change station command.

Add check to validate operations supported param given by user
and if it exceeds max supported value, set it to max supported
value.

CRs-Fixed: 2002052
Change-Id: Idd3a35e38b091546a17d7ec6329f19429e5c289c
2017-07-31 07:14:15 -07:00
SaidiReddy Yenuga
0b2c9f4d02 qcacld-3.0: Add bounday check for multicastAddr array
qcacld-2.0 to qcacld-3.0 propagation.

In hdd_set_rx_filter API multicastAddr array being accessed beyond
its size.

Add boundary check for multicastAddr.

CRs-Fixed: 1104565
Change-Id: I8e1543a8f42ac40c04d2c6a17e69718d13cbd706
2017-07-31 07:14:13 -07:00
snandini
a2ea46cdcd Release 5.2.0.36L
Release 5.2.0.36L

Change-Id: If8687d132a01bc171cc21bcf49da04e521859b6d
CRs-Fixed: 774533
2017-07-31 03:52:15 -07:00
Manjeet Singh
00b2a567ad qcacld-3.0: Add buf len check in wlan_hdd_cfg80211_testmode
qcacld-2.0 to qcacld-3.0 propagation.

In __wlan_hdd_cfg80211_testmode API no checks are in place that
ensure that buflen is smaller or equal the size of the stack
variable hb_params. Hence, the vos_mem_copy() call can overflow
stack memory.

Add buf len check to avoid stack overflow

CRs-Fixed: 1105085
Change-Id: I6af6a74cc38ebce3337120adcf7e9595f22d3d8c
2017-07-31 03:52:14 -07:00
Selvaraj, Sridhar
0769c777d9 qcacld-3.0: Remove warning logs in beacon/probe response parsing
Currently, parsing of beacon/probe response leads to flooding of
warning messages in kernel logs.

Remove warning logs in beacon/probe response parsing. Dump IE's
only for parse fail case as debug logs.

Change-Id: I1b6898377cc196a5c4fe3d3316618104fd8b281e
CRs-Fixed: 2079652
2017-07-31 03:52:12 -07:00
snandini
b6aa1d6f0a Release 5.2.0.36K
Release 5.2.0.36K

Change-Id: Ifc584a09c38f973199f9ec4681034170267cb5a0
CRs-Fixed: 774533
2017-07-31 00:35:24 -07:00
Nachiket Kukade
dbffab89f6 qcacld-3.0: Do not allow ns offload in IBSS mode
NS Offload is not supported in IBSS mode. Configuring it while
in IBSS mode causes crash in firmware.

Do not allow ns offload in IBSS mode.

Change-Id: I1f6cf7b6c65238a9335f828321487ea784a4512b
CRs-Fixed: 2035449
2017-07-31 00:35:24 -07:00
snandini
62b100fe5f Release 5.2.0.36J
Release 5.2.0.36J

Change-Id: Id88169fbe04ae83ead91f2b633952e5342fe2898
CRs-Fixed: 774533
2017-07-30 14:00:49 -07:00
yeshwanth sriram guntuka
584c233dac qcacld-3.0: Fix memory leak in wma_utils
Link stats memory is not freed in case of driver
unload happens before more results is received
from firmware.

Fix is to free link stats memory on wma close.

Change-Id: I3c54a0bc4951c70b2ca7116e37e0b62a5c6b7a2f
CRs-Fixed: 2083603
2017-07-30 14:00:49 -07:00
Manjeet Singh
a5acc16871 qcacld-3.0: Add INI template for SSR feature
Add INI template for ssr feature for documentation.

CRs-Fixed: 1108400
Change-Id: I4c14205aab5d3ab353eb39cc0c04e18a2d6fe576
2017-07-30 14:00:47 -07:00
Nachiket Kukade
e4d8644dac qcacld-3.0: Populate the remaining addresses from tha wlan_mac.bin address
Currently if only one address is provided in wlan_mac.bin, it is updated
for interface wlan0. It will be copied to interface p2p0 if a specific
configuration is present. softap0 retains its mac address either generated
from serial number or given through Firmware ready event. This doesn't
guarentee a unique mac address to both these interfaces.
Regardless of configuration Both softap0 and p2p0 should have a unique
mac address with locally administered bit set.

Change-Id: I64299f5c2e2376c8dbdb26ea34ba0187d5d1f28d
CRs-Fixed: 2066086
2017-07-30 14:00:45 -07:00
c_manjee
36b61839c1 qcacld-3.0: Enable Driver MEMDUMP in Kbuild
MEMDUMP is disabled in Kbuild, Hence the driver memory dump
command is failing.

Enable WLAN_MEMDUMP in Kbuild

CRs-Fixed: 1117348
Change-Id: Ic468a78305a5df409cf95096dfea38cb27aa7c7c
2017-07-30 14:00:43 -07:00
snandini
28b8046e36 Release 5.2.0.36I
Release 5.2.0.36I

Change-Id: I64d8832831cb9fe0f2f10db1f954b12a2380ec77
CRs-Fixed: 774533
2017-07-30 13:02:32 -07:00
Nachiket Kukade
a48fd7791b qcacld-3.0: Do not BUG_ON during peer unmap timeout if FW is down
During peer detach, driver starts a timer to track unmap events
when the sta peer gets deleted. During this duration SSR occurs
and BUG_ON or cds recovery is triggered. This should only happen
in non-recoverable situation, so this scenario should be avoided.

Allow driver to recover from the SSR by checking FW_DOWN bit.

Change-Id: Ieca407e5c9c30f3c4716b7d158a903add46b8bd6
CRs-Fixed: 2078395
2017-07-30 13:02:31 -07:00
Sravan Kumar Kairam
4e82af92a9 qcacld-3.0: Fix 32 bit host arch wlan crash during load
Currently during IPA pipes connect host is passing size of each TX
completion ring size as 4 bytes instead of 8 bytes which is expected
by IPA driver. Reason is host passes size of each ring as size of
dma_addr_t which is 4 bytes for 32 bit host architecture where as
bus addresses are of 8 bytes on MAC and IPA. Fix this by passing the
size which is correct and expected by the IPA driver.

Change-Id: Ib081a3819d3a5e4f7ac61606d5ecb9aa5f3242c8
CRs-Fixed: 2037661
2017-07-30 13:02:29 -07:00
Ashish Kumar Dhanotiya
0fa8ee06b3 qcacld-3.0: Fix Uninitialized memory issue
Propagation from qcacld-2.0 to qcacld-3.0.

There is a possibility to read uninitialized memory within api
__wlan_hdd_cfg80211_testmode.
To resolve this issue, initilaize buffer hb_params with zero.

Change-Id: Ia8061610a8c35aa7290177c0dcd2c5c36d9fcb35
CRs-Fixed: 2075796
2017-07-30 13:02:28 -07:00
Manjeet Singh
3abd7300a5 qcacld-3.0: Accept gscan request only if netdev is up
The vendor command QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_VALID_CHANNELS
coming in netdev down state resulting in crash.

Add WIPHY_VENDOR_CMD_NEED_RUNNING flag to reject the vendor command
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_VALID_CHANNELS if netdev is down.

CRs-Fixed: 1109145
Change-Id: I007341a51ccdd1b5cf5b6e2319c8b71d4f26f9ce
2017-07-30 13:02:26 -07:00
Manjeet Singh
91b7bb8a20 qcacld-3.0: Enable QPOWER only for STA modes
Currently sending qpower to FW in softap mode causes device to crash as
qpower config is not supported.
Enable QPOWER config in STA and P2P-CLI modes.

Change-Id: Idb8b3ac79e6c93533b752ac42d6ab57bb0c86579
CRs-Fixed: 2003839
2017-07-30 13:02:24 -07:00
Padma, Santhosh Kumar
5f42892271 qcacld-3.0: Avoid buffer overflow of csr_wpa_oui array
In csr_validate_wep(), return value of csr_get_oui_index_from_cipher() is
used to fetch 'csr_wpa_oui' value. csr_get_oui_index_from_cipher() returns
0-14 but no.of rows of 'csr_wpa_oui' is 7.

Add changes to validate index value before accessing 'csr_wpa_oui' array.

Change-Id: I0cf16f4e8fb2c07a489991f20bc345e97b2450e0
CRs-Fixed: 2077599
2017-07-30 13:02:22 -07:00
Agrawal Ashish
b0aa075047 qcacld-3.0: Reduce log completion timer to 3 sec
Currently when driver send log flush command to firmware,
driver start timer of 10 sec.
Reducing this time to 3 sec as 10 is long timer.

Change-Id: I697fa6a4709fa0128595fb2b15493b1fa2b13b35
CRs-Fixed: 2037033
2017-07-30 13:02:20 -07:00
Agrawal Ashish
569ad261ac qcacld-3.0: Correct NSS in case of DBS hw mode
In case of DBS hw mode, NSS should be reduce by 1

Change-Id: I3d3f0dbd23a7336eb448628ade763668041a640d
CRs-Fixed: 2038087
2017-07-30 13:02:18 -07:00
Abhishek Singh
d8c3f10454 qcacld-3.0: Add support for ESP IE
The Estimated Service Parameters element is
used by a AP to provide information to another STA which
can then use the information as input to an algorithm to
generate an estimate of throughput between the two STAs.
The ESP Information List field contains from 1 to 4 ESP
Information fields(each field 24 bits), each corresponding
to an access category for which estimated service parameters
information is provided.

Change-Id: I4d299ffbf0700574c0b207893dbbfc4fd3911849
CRs-Fixed: 2079816
2017-07-30 13:02:16 -07:00
snandini
4c8108cb96 Release 5.2.0.36H
Release 5.2.0.36H

Change-Id: If97b96a71646d70908fd9e2c1d8cf904d27b3a23
CRs-Fixed: 774533
2017-07-30 12:01:54 -07:00
Nachiket Kukade
33c34e3228 qcacld-3.0: Update missing vht capabilities in wiphy before registering
Currently while registering wiphy, supported Beamformee STS Capability
and Number of Sounding Dimensions are not updated in the vhtcap field.
This results in hostapd failing to start if above two configurations
are enabled in the conf file.
Update missing vht capabilities in wiphy before registering.

Change-Id: I8db376fe1f14fd5b722e67a5889addf4c2fb7f28
CRs-Fixed: 2062520
2017-07-30 12:01:54 -07:00
SaidiReddy Yenuga
c0c34cfd5d qcacld-3.0: Fix uninitialised variables in HDD
In packet log header, element type_specific_data used uninitialised.

Initialise type_specific_data.

CRs-Fixed: 2015997
Change-Id: Ifa2bdc4c10528c8e9781249058e1767d64bec60e
2017-07-30 12:01:52 -07:00
Sreelakshmi Konamki
0ac62e88ee qcacld-3.0: Validate 'num_RICDataDesc' to avoid error logs
qcacld-2.0 to qcacld-3.0 propagation

In sir_convert_assoc_resp_frame2_struct(), 'pAssocRsp->ricPresent' is set to
true when 'num_RICDataDesc' is 0, this causes qdf_mem_malloc() to be called
with invalid length 0.

Add change to validate 'num_RICDataDesc' to avoid above issue.

Change-Id: If5e59477efa4df01ca216904645babf769b55c47
CRs-Fixed: 2078891
2017-07-30 12:01:50 -07:00
snandini
513038eee1 Release 5.2.0.36G
Release 5.2.0.36G

Change-Id: I5ffbde825e9d5fb5c3407cdad59ff09ffacab8da
CRs-Fixed: 774533
2017-07-30 11:00:17 -07:00
Abhishek Singh
f3cc07311a qcacld-3.0: Fix TLV length check issue in unpack tlv
In unpack tlv, length of tag and length fields are not considered
while checking for min length for the tag, this result into failure
in unpacking the TLV.

Fix it by including length of tag and length fields while checking
for min length.

Change-Id: Icf06b935a883e41426f5fcd1668ad8461b58349f
CRs-Fixed: 2070452
2017-07-30 11:00:16 -07:00
Abhishek Singh
4db8c1521c qcacld-3.0: Send OCE rssi reject BSSID list to firmware
Add support for rssi based assoc rejection from a bssid and
Try to connect to this bssid only after time interval indicated in
Assoc reject or when rssi has improved by margin indicated in Assoc
reject.

On connection send OCE rssi reject BSSID list to firmware so that
firmware will avoid connecting to these BSSID until RSSI improve or
delta interval has elapsed.

Change-Id: I792b2874ed25227bf5fd09d8051549da96db4364
CRs-Fixed: 2070452
2017-07-30 11:00:15 -07:00
Abhishek Singh
f3756fcb5c qcacld-3.0: Add support for rssi based assoc rejection during connect
Add support to handle rssi based assoc rejection from a bssid and
Try to connect to this bssid only after time interval indicated in
Assoc reject or when rssi has improved by margin indicated in Assoc
reject.

Change-Id: I6363bf5346ff8804611afbac3058819dc820092d
CRs-Fixed: 2070452
2017-07-30 11:00:12 -07:00
Agrawal Ashish
b08e721916 qcacld-3.0: Trigger pktlog as part of unusual disconnect
Trigger packet logs if deauth/Disconnect comes with reason code
other than eSIR_MAC_UNSPEC_FAILURE_REASON,
eSIR_MAC_DEAUTH_LEAVING_BSS_REASON,
eSIR_MAC_DISASSOC_LEAVING_BSS_REASON

Change-Id: I906abf4e4b7c7b9fb109fa1ead1afed15a9f5e81
CRs-Fixed: 2071173
2017-07-30 11:00:10 -07:00
Agrawal Ashish
87ec5d48c8 qcacld-3.0: Indicate HB failure, HO failure and no scan result as FATAL
In packet logs currently HB failure, HO failure and No scan results
are marked as Non Fatal and because of that, these failures are not captured
in packet logs.
Fix this by making these events as FATAL.

Change-Id: I6db2f3cd843b7f84081332f2385fbfb0a2992078
CRs-Fixed: 2061842
2017-07-30 11:00:09 -07:00
Nachiket Kukade
c34d4a3352 qcacld-3.0: Set timer expiry on queued HDD scan requests
In certain cases HDD fails to receive callbacks for the scan requests
queued to SME. Kernel may free up these scan requests due to timeout.
During driver shutdown and exit if scan done is performed on these
stale scan requests, kernel crash may occur.

Set a timer of 60 seconds on queued scan requests, after expiry BUG_ON
for debugging purposes.

Change-Id: I6db155b17a8a5ae87208ec84eaab221a53623a63
CRs-Fixed: 2070594
2017-07-30 11:00:06 -07:00
snandini
bb10c33fd5 Release 5.2.0.36F
Release 5.2.0.36F

Change-Id: Ib3f6f6ded04ed2bd8e8006bbaa88fd3b2b3ce931
CRs-Fixed: 774533
2017-07-30 10:04:17 -07:00
Ganesh Kondabattini
0dc1a6e77a qcacld-3.0: Handle error cases while registering frames
If registration of callback 'hdd_send_action_cnf_cb' fails with PE due
to some error case, then PE is not going give the ack confirmation
for action frames which can lead to in p2p connection failure.

CRs-Fixed: 2075708
Change-Id: Ia7b670f186975f5139e37e79230de56bc8ab868b
2017-07-30 10:04:17 -07:00
SaidiReddy Yenuga
28dc327cfe qcacld-3.0: Move log level to info if host fails to get valid STA-ID
During wlan disconnect before disabling tx queues, observed continuous
logs in ndo_start_xmit, because of invalid station ID, leading to WD bark.

Move log level to info from error, if driver fails to find valid station
ID while processing ndo_start_xmit.

CRs-Fixed: 2022473
Change-Id: I122219d22e2e19ddb3ca6aa60c38177f2a95ac43
2017-07-30 10:04:15 -07:00
Manjeet Singh
2f78506072 qcacld-3.0: Correct sme_set_5g_band_pref definition
sme_set_5g_band_pref is declared inside FEATURE_WLAN_ESE feature flag
by mistake which can cause a symbol undefined error if FEATURE_WLAN_ESE
is not declared.

Move sme_set_5g_band_pref outside of conditional block FEATURE_WLAN_ESE.

Change-Id: I80b045100b068d08873b136fdf676e99e36a57cd
CRs-Fixed: 2016629
2017-07-30 10:04:13 -07:00
snandini
515628d632 Release 5.2.0.36E
Release 5.2.0.36E

Change-Id: Ie45cc178e6eb55af1f5a7c47146d19e797b7e27a
CRs-Fixed: 774533
2017-07-30 09:09:13 -07:00
Manjeet Singh
a9cae43599 qcacld-3.0: Add support for band specific preference
Add support for 5Ghz network RSSI boost/penalty preference
based on ini values.

Change-Id: Ia3ae5dcc35b9a85fde5a609f8f27ff8b4bc35cec
CRs-fixed: 1085554
2017-07-30 09:09:12 -07:00
Agrawal Ashish
bafaff128b qcacld-3.0: Add INI and IOCTL template for SAP ACS feature
Add INI and IOCTL template for SAP ACS feature for documentation.

Change-Id: Id8088ee9b1f79c975d15d71c10aca1e05e35f82b
CRs-Fixed: 1105602
2017-07-30 09:09:10 -07:00
Agrawal Ashish
b114b6726b qcacld-3.0: Don't update MBO IEs twice
Driver should not send MBO IEs if MBO Ies come from supplicant.

Change-Id: I7ad27759ba2454465f3e204d207cb58eaf8804a9
CRs-Fixed: 2044567
2017-07-30 09:09:08 -07:00
snandini
0d0d4561a6 Release 5.2.0.36D
Release 5.2.0.36D

Change-Id: Iced93faab172c214b998611a9b92197d21e1fb71
CRs-Fixed: 774533
2017-07-30 07:50:18 -07:00
Abhishek Singh
c15f649aef qcacld-3.0: Remove vdev stop req from vdev resp queue if vdev stop fail
If during set link state, vdev stop fails, then the params pointer
is not removed from the vdev resp queue and set link state rsp is
called which will free this params pointer.

This leads to double free of the params memory when driver try to
remove the req params from vdev resp queue when cleanup vdev resp
queue is called.

To fix this remove vdev stop req from vdev resp queue if vdev stop
fails.

Change-Id: I1da763d2cc35c12c1b55a3c0057b893e9ef8d48f
CRs-Fixed: 2080189
2017-07-30 07:50:17 -07:00
Agrawal Ashish
e030f78aef qcacld-3.0: Add INI template for P2P feature
Add INI template for P2P feature for documentation.

Change-Id: I7d9fcb2272e0d105fd81bbeea9e387ce40ffa5b5
CRs-Fixed: 1116847
2017-07-30 07:50:15 -07:00
Agrawal Ashish
1fdcbb6a83 qcacld-3.0: Update negotiated maxTxPower in Assoc request
qcacld-2.0 to qcacld-3.0 propagation

On some channel, AP's tranmission power is less than
regulatory tx power as per db.txt. While sending Assoc request,
driver should populate negotiated power (min power of AP's tx power and
regulatory power for operating channel) in Assoc request.
This doesn't happen currently, fix it to ensure that
driver follow negotiated power.

Change-Id: I7755894b72e4f0f7ffc371abbbda5c75b2851b13
CRs-Fixed: 2011396
2017-07-30 07:50:13 -07:00
snandini
a355d03b0d Release 5.2.0.36C
Release 5.2.0.36C

Change-Id: Ie632ef27454c6b1b337a3b17099c24e55e3dd41c
CRs-Fixed: 774533
2017-07-29 23:39:01 -07:00
SaidiReddy Yenuga
c533202e26 qcacld-3.0: Validate NLA attr in hdd_extscan_epno_fill_network_list
NLA attribute
QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORKS_LIST
used without validation.

validate NLA attribute.

CRs-Fixed: 2025680
Change-Id: I4da7dbe44325b0ed6346b363b71b558250996f8c
2017-07-29 23:39:01 -07:00
snandini
a180e94ab8 Release 5.2.0.36B
Release 5.2.0.36B

Change-Id: Ifce41b2afb31e277ecb2e2dc7acb51f15f629145
CRs-Fixed: 774533
2017-07-27 16:59:55 -07:00