Commit Graph

5751 Commits

Author SHA1 Message Date
Srinivas Girigowda
35b003149c qcacld-3.0: Fix clang warning: implicit conversion enum tDriverType
warning: implicit conversion from enumeration type 'tDriverType'
to different enumeration type 'enum driver_type' [-Wenum-conversion].

Move enum driver_type to QDF.

Change-Id: Ic89e4ee512a2d70c27324446257286aaafd49839
CRs-Fixed: 2055487
2017-08-03 19:48:58 -07:00
Srinivas Girigowda
4ffe7c8643 qcacld-3.0: Use the proper attribute PARAM_A_BAND_PELT_THLD
Due to the Change-Id: I3ad995636127a5fda0635549551a24cc5b1bd2c5
PARAM_A_BAND_PELT_THLD was incorrectly replaced with
PARAM_A_BAND_BOOST_THLD.

Fix this and bring back the attribute PARAM_A_BAND_PELT_THLD.

Change-Id: I83d21c2b4662c82d2f26f3bcd10a549889f6df1e
CRs-Fixed: 2055487
2017-08-03 19:48:56 -07:00
Srinivas Girigowda
72f3039ec5 qcacld-3.0: Split __wlan_hdd_cfg80211_set_ext_roam_params()
Split __wlan_hdd_cfg80211_set_ext_roam_params() into
multiple functions to improve readability of the code and
fix clang warning (-Wframe-larger-than).

Change-Id: I3ad995636127a5fda0635549551a24cc5b1bd2c5
CRs-Fixed: 2055487
2017-08-03 19:48:53 -07:00
Srinivas Girigowda
a8f66581e7 qcacld-3.0: Fix to set roaming capability in get_supported_features()
Because of obsolete macros FEATURE_WLAN_LFR and WLAN_FEATURE_ROAM_SCAN_OFFLOAD
roaming capability is not properly set in get_supported_features.

Fix this by using the proper macros.

Change-Id: I4dec8c32c71fde01b663e11e60f1da171adee3e4
CRs-Fixed: 2067126
2017-08-03 19:48:51 -07:00
Srinivas Girigowda
8df27eacb6 qcacld-3.0: Enable feature bits in get_supported_features()
This is a qcacld-2.0 to qcacld-3.0 propagation.

Enable feature bits WIFI_FEATURE_CONTROL_ROAMING,
WIFI_FEATURE_IE_WHITELIST and WIFI_FEATURE_SCAN_RAND.

Change-Id: Ia0f136e038e7da040faae04eaa11bcf56bb72443
CRs-Fixed: 1102187
2017-08-03 19:48:49 -07:00
Srinivas Girigowda
9eb807b939 qcacld-3.0: Fix array out-of-bounds & integer underflow in _iw_set_genie
This is a qcacld-2.0 to qcacld-3.0 propagation

'wrqu->data.length' holds the total number of IE data buffer.
Add a check to make sure the number of remaining data to be read is
greater than or equal to IE length.

Also, advance the buffer pointer to point to the next element only
if next element is present.

Change-Id: Ic60f3e0650f365955dab4099eb8740e9789e00cc
CRs-Fixed: 1100132
2017-08-03 19:48:47 -07:00
snandini
eda9a57a34 Release 5.2.0.36W
Release 5.2.0.36W

Change-Id: I5f583060496c0e37143afc12e3b9461ad7a08152
CRs-Fixed: 774533
2017-08-03 16:34:42 -07:00
Mohit Khanna
ceb9778bfc qcacld-3.0: Dump DPTRACE on cfg8011 disconnect
Dump the last few (100) DPTRACE records when a cfg80211 disconnect is
received from the userspace with reason code WLAN_REASON_DEAUTH_LEAVING.

Change-Id: Ib370f8d8b71f20364e0da73a1aee5673c0fc4ca4
CRs-Fixed: 2029713
2017-08-03 16:34:41 -07:00
Mahesh Kumar Kalikot Veetil
aff9486ae9 qcacld-3.0: Refactor hdd_register_interface()
Unify hdd_register_interface() and hdd_register_hostapd(). Update
failure log with error status and device name in case of
register_netdevice(), register_netdev() or dev_alloc_name() failures.

Change-Id: I428c73d473de6dc2e61567129e9f2a7996631729
CRs-Fixed: 2085098
2017-08-03 16:34:39 -07:00
jiad
9d472c9da0 qcacld-3.0: fix possible race condition in hdd IPA
hdd_ipa->sta_connected in WLAN_CLIENT_DISCONNECT case is not under lock
protection and is prone to race conditions.

Fix is to release event_lock after checking sta_connected so as to avoid
possible race conditions.

Change-Id: I6206d5d0cc2cf5df02ab4caf0de810961da21006
CRs-Fixed: 2082525
2017-08-03 16:34:37 -07:00
snandini
e462a71898 Release 5.2.0.36V
Release 5.2.0.36V

Change-Id: I4cc957cebe42d059ddb8951d0cedb2020ce98d89
CRs-Fixed: 774533
2017-08-02 14:04:37 -07:00
Hanumanth Reddy Pothula
30645a805e qcacld-3.0: Resolve out of bound memory access, while processing setpno
propagation from qcacld-2.0 to qcacld-3.0.

While processing setpno ioctl, there is an out of bound memory
issue when Host is copying ioctl arguments to a local buffer.

While copying ioctl arguments, make sure valid indices are used.

Change-Id: I03078df7135f5f1daf1d9bead7d4410e58fb848a
CRs-Fixed: 1112355
2017-08-02 14:04:37 -07:00
snandini
d94d513dec Release 5.2.0.36U
Release 5.2.0.36U

Change-Id: I417af58e9b3bc7528bd3469bd35ddf822beb47ec
CRs-Fixed: 774533
2017-08-01 10:02:53 -07:00
jiad
c6f5184601 qcacld-3.0: fix tx_desc vdev null pointer derefernce
In module exit context, vdev handle could be destroyed but still we
need to free pending completion tx_desc. And accessing vdev handle
of tx_desc will lead to null pointer derefernce.

Fix is to check vdev handle against null pointer.

Change-Id: Ib4e3127803f7bb0035466ec639401d7f8163598e
CRs-Fixed: 2074184
2017-08-01 10:02:52 -07:00
snandini
b4cc38efe7 Release 5.2.0.36T
Release 5.2.0.36T

Change-Id: I3ff154870b3a7615ed8fd770189827804be50e60
CRs-Fixed: 774533
2017-08-01 04:14:33 -07:00
snandini
919683e1eb Release 5.2.0.36S
Release 5.2.0.36S

Change-Id: I17359bfd737c9df253966c07c0b44d1454a47167
CRs-Fixed: 774533
2017-08-01 00:57:26 -07:00
Kapil Gupta
aa902a74fe qcacld-3.0: Enable PER roam by default
Add changes to enabled PER based roaming by default.

Change-Id: I72f0d4826b2841038e609dd0afcb771bcb715d49
CRs-Fixed: 2026668
2017-08-01 00:57:26 -07:00
snandini
e3040a4c3a Release 5.2.0.36R
Release 5.2.0.36R

Change-Id: Ie6bd8fc4052598f8d19b577b09a12105b4118484
CRs-Fixed: 774533
2017-07-31 23:52:57 -07:00
Himanshu Agarwal
83a875798a qcacld-3.0: Reduce tx completion drain delay to 500 ms
Reduce tx completion drain delay to 500ms from 1sec to avoid
unwanted suspend delay.

Change-Id: I0fa49f8c754e5d6ad33bf0fec7b4e02154ef49bf
CRs-Fixed: 2047750
2017-07-31 23:52:56 -07:00
Himanshu Agarwal
d8cffb33bd qcacld-3.0: Check for peer validity before enqueueing frames
There can be a race condition happening where frames are being
enqueued in cached buf queue for a peer in one thread whereas
cached buf queue for that same peer is being flushed in another
thread at the same time. This could result in memory leak in buf
queue.

Check for peer validity before enqueueing frames in peer cached
buf queue.

Change-Id: Idfb190def2aabc4439cd551c50aa811bae818ea3
CRs-fixed: 2038457
2017-07-31 23:52:54 -07:00
snandini
b5491125b6 Release 5.2.0.36Q
Release 5.2.0.36Q

Change-Id: Iff83aae07f6a3a2548c5dbbbd3371f927f9465cd
CRs-Fixed: 774533
2017-07-31 21:51:45 -07:00
Yingying Tang
d491e18b0a qcacld-3.0: Fix unknown symbol lim_process_sme_del_all_tdls_peers
lim_process_sme_del_all_tdls_peers is defined only when FEATURE_WLAN_TDLS
is enabled, but declared always. There is unknown symbol error when insmod
wlan.ko without this feature. Only declare/define when FEATURE_WLAN_TDLS
is defined to resolve this issue.

Change-Id: I817e5cc2bb22a4242f42c7398cbd00d01ff0a64b
CRs-Fixed: 2034861
2017-07-31 21:51:44 -07:00
snandini
5e5e812a4c Release 5.2.0.36P
Release 5.2.0.36P

Change-Id: Id0a14f77bc7f8d89574ff80d79f5c83a35e8c6fb
CRs-Fixed: 774533
2017-07-31 20:55:54 -07:00
Wu Gao
35a5cfec1b qcacld-3.0: Check tHalHanle pointer before access
Static analyze tool reports error, since NULL check for tHalhandle
is not present. Fix is to add NULL checks.

Change-Id: Ibe68b89809a36e0184523934e7b3aefbd732666a
CRs-fixed: 2083409
2017-07-31 20:55:53 -07:00
snandini
c0ea5c4aad Release 5.2.0.36O
Release 5.2.0.36O

Change-Id: Id9b3017e6ac194a094074883344b073a52a6e161
CRs-Fixed: 774533
2017-07-31 18:53:16 -07:00
Dustin Brown
84411b0e45 qcacld-3.0: Flush pending powersave timers during suspend
Currently, auto powersave timers are deferrable. This means any pending
auto powersave timers will not fire while the device is supended, which
can have a negative impact on wlan power usage. Instead, flush any
pending auto powersave timers during the suspend process, to ensure
powersave is enabled while the device is suspended.

Change-Id: I5911ee30eaf770909b728af73958ba1bbaa8457f
CRs-Fixed: 2080812
2017-07-31 18:53:15 -07:00
Sravan Kumar Kairam
6b92adff7d qcacld-3.0: Disconnect TX pipe when RX pipe connect fails
Currently when IPA RX WDI pipe connect fails during start modules
host does not clean up the TX pipe which is allocated before the
RX pipe. As part of proper clean up from host in this change
disconnect the TX pipe handle when RX pipe connect returns failure.

Change-Id: Ic037dd2415ab5be497a0617d8151d63219868fd1
CRs-Fixed: 2040146
2017-07-31 18:53:14 -07:00
snandini
cc307b73f3 Release 5.2.0.36N
Release 5.2.0.36N

Change-Id: I63cafa35ca9bdf9d4ee067ad1353583a6e1a61f2
CRs-Fixed: 774533
2017-07-31 17:52:50 -07:00
Nachiket Kukade
4fa80f430a qcacld-3.0: Enable Force 1x1 WAR by default
Setting gForce1x1Exception=1 in ini forces DUT to associate to
buggy AP's which are identified via OUI. Enable this feature by
default on all platforms by setting CFG_FORCE_1X1_DEFAULT=1.

Change-Id: Ic459d821f4aedba966beab8ca8ca977b7b639e34
CRs-Fixed: 2084927
2017-07-31 17:52:49 -07:00
snandini
454f6dab82 Release 5.2.0.36M
Release 5.2.0.36M

Change-Id: I2d6f79c91f1fec84f97db2cc1333bb7375adf0f5
CRs-Fixed: 774533
2017-07-31 07:14:23 -07:00
Ravi Kumar Bokka
0bfdd98432 qcacld-3.0: Modify default ini value for EGAP feature
Change default gEnableGreenAp ini value from zero to one

Change-Id: Id9d28ea69f6369d0e23576873177da9d0e6641ad
CRs-Fixed: 2036858
2017-07-31 07:14:22 -07:00
SaidiReddy Yenuga
8c85acb5e8 qcacld-3.0: Validate NLA attr in hdd_extscan_passpoint_fill_network_list
NLA attribute
QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NETWORK_ARRAY
used without validation.

validate NLA attribute.

CRs-Fixed: 2025685
Change-Id: I141d5e6b3872df70b18797a99c943fca1cc5d31e
2017-07-31 07:14:21 -07:00
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
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