Commit Graph

2125 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ashish Kumar Dhanotiya
0f2ef95a2a qcacld-3.0: Fix kernel checkpatch warnings in wlan_hdd_scan.c
Fix kernel checkpatch warnings in wlan_hdd_scan.c

Change-Id: Iadace9583f8396a11de64682b95e1f63073f67f6
CRs-Fixed: 2024274
2017-07-27 16:59:40 -07:00
Arunk Khandavalli
4e7afa658f qcacld-3.0: Fix kernel checkpatch warnings in wlan_hdd_hostapd.h
Fix kernel checkpatch warnings in wlan_hdd_hostapd.h

Change-Id: Ibdde25dcff04d2515f591c3d235c0990f00708a4
CRs-Fixed: 2024274
2017-07-27 16:59:36 -07:00
Arunk Khandavalli
15664e4e9a qcacld-3.0: Fix kernel checkpatch warnings in wlan_hdd_nan_datapath.c
Fix kernel checkpatch warnings in wlan_hdd_nan_datapath.c.

Change-Id: Iec8437dd8b5685a6889280f1f9858221e31a8fe8
CRs-Fixed: 2024274
2017-07-27 16:59:34 -07:00
Arunk Khandavalli
0ecf8c85ad qcacld-3.0: Fix kernel checkpatch warnings in wlan_hdd_debugfs.c
Fix kernel checkpatch warnings in wlan_hdd_debugfs.c

Change-Id: Ifdd7b43720f75dab627310b66a398c22cbe55963
CRs-Fixed: 2024274
2017-07-27 16:59:31 -07:00
Ashish Kumar Dhanotiya
cf11bae9c0 qcacld-3.0: Fix kernel checkpatch warnings in wlan_hdd_power.c
Fix kernel checkpatch warnings in wlan_hdd_power.c

Change-Id: I0a22c2c1ebc86ada69ff271cbd68f2166e08b541
CRs-Fixed: 2024274
2017-07-27 16:59:29 -07:00
Dustin Brown
8d8d9fe485 qcacld-3.0: Add enhanced multicast enable/disable APIs
Currently, a hard-coded enhanced multicast filter configuration is being
sent to firmware. Instead, create a set of enable/disable APIs, and
configure enhanced multicast filter based on advertised firmware
capability.

Change-Id: I488b4a921612e1081266be8831be098d755375f9
CRs-Fixed: 2078615
2017-07-27 16:59:26 -07:00
Dustin Brown
c86d5368b0 qcacld-3.0: Do not wait for scan cancel during suspend
In the suspend path, the code waits for all active/pending scans to be
cancelled before continuing the suspend. Instead, for better power
savings, abort all active/pending scans during suspend and immediately
continue the suspend process.

Change-Id: I16a5429c00034fe58fb4c70a8dacda666ac54227
CRs-Fixed: 2073229
2017-07-27 16:59:22 -07:00
yeshwanth sriram guntuka
1413dfbf79 qcacld-3.0: Add ini to indicate OCE support to user space
Vendor features are used to indicate OCE support
from driver to user space which are set based on ini
params for STA and SAP.

Change-Id: I1b9039307d5477883a2fd23e972d20234908ee24
CRs-Fixed: 2031980
2017-07-27 16:59:06 -07:00
Hanumanth Reddy Pothula
6310c77b23 qcacld-3.0: Process pno ioctl appropriately
propagation from qcacld-2.0 to qcacld-3.0.

While processing setpno ioctl, input arguments are not validated
and also while parsing arguments, there is a possibility of Host
accessing memory beyond memory allocated as there is no check
whether is Host is accessing valid memory or not.
Validate input arguments and make sure Host won't access invalid
memory, while processing setpno ioctl.

Change-Id: Ica9ea56283d55282cff3ccd349e4bc1c08b80e70
CRs-Fixed: 1097868
2017-07-27 16:58:59 -07:00
Hanumanth Reddy Pothula
ffc2d4866e qcacld-3.0: Rename ini param name sap_restart_on_ch_avoid
sap_restart_on_ch_avoid ini parameter holds good for both SAP and GO.
So to make it generic, rename to ignore_restart_on_chan_avoid_event.

Change-Id: Ic68014a71b36e00c268da50528bf5e14fd87d007
CRs-Fixed: 2027436
2017-07-27 16:58:53 -07:00
Ganesh Kondabattini
acaf8a9c4c qcacld-3.0: Change the min and default values of gTDLSEnableDeferTime
Driver is disabling the tdls for 5s from the last p2p-listen request
received. This is leading to tdls connection failure even after p2p
find has been stopped.

So reducing the min and default timer values 500ms and 2s respectively.

CRs-Fixed: 2078933
Change-Id: Id1ab3945d029de8154aede403b354aec99f4cd79
2017-07-27 16:58:50 -07:00
Linux Build Service Account
5833b7c944 Merge "qcacld-3.0: Add ecsa capability record" 2017-07-26 15:44:22 -07:00
CNSS_WLAN Service
cb71bc09ed Merge "qcacld-3.0: Set final bmiss count to 20 from 10" into wlan-cld3.driver.lnx.2.0-dev 2017-07-26 00:38:56 -07:00
Linux Build Service Account
75463cca73 Merge "qcacld-3.0: Add phymode parameter in hdd_chan_change_notify" 2017-07-25 21:17:11 -07:00
gaolez
7bb1e74744 qcacld-3.0: Add ecsa capability record
qcacld-2.0 to qcacld-3.0 propagation

Add eCSA capability record of STAs which associated to SAP.

Change-Id: I1d7892bb1dc4e490a587e8372a4bdc7f419e8b36
CRs-Fixed: 1094958
2017-07-25 15:44:06 -07:00
CNSS_WLAN Service
bc38804145 Merge "qcacld-3.0: Correct dev name in logs" into wlan-cld3.driver.lnx.2.0-dev 2017-07-25 09:07:48 -07:00
CNSS_WLAN Service
0a40c2ac36 Merge "qcacld-3.0: Add new ini param for min rest time during roaming scan" into wlan-cld3.driver.lnx.2.0-dev 2017-07-25 09:07:46 -07:00
Mukul Sharma
9e8395ec44 qcacld-3.0: Set final bmiss count to 20 from 10
Due to multiple beacon miss issues observed in firmware,
Host is changing final bmiss count to 20 from 10.
Hence firmware can receive beacon in noisy environment.

Change-Id: I87e4a6eaec016f36ca22a057e0d9812c0b8696ff
CRs-Fixed: 2082088
2017-07-25 18:02:53 +05:30
bings
58ce86229c qcacld-3.0: Add phymode parameter in hdd_chan_change_notify
Information in struct ch_params_s are the same for 11g and
11n ht20, so phymode is still needed to distinguish them.

Change-Id: I5ddfc011b4fd3b11c975f8b2df3a270e8141e622
CRs-Fixed: 2073580
2017-07-25 03:45:24 -07:00