Commit Graph

7297 Commits

Author SHA1 Message Date
Sandeep Puligilla
2f931531b0 qcacld-3.0: Add sanity check to avoid overflow in WMI event data
In WMA, data from firmware event buffer is used without
sanity checks for upper limit. This might lead to a potential
integer overflow further leading to buffer corruption.

Add sanity check to avoid integer overflow.

Change-Id: Id47e12015a4d46af24180b621b52ffcb17596c07
CRs-Fixed: 2112832
2017-10-13 00:10:40 -07:00
snandini
cc7c927f9f Release 5.2.0.48Q
Release 5.2.0.48Q

Change-Id: Icc43caa67451c78d551dcb804739f9e1c7f345b4
CRs-Fixed: 774533
2017-10-12 14:03:26 -07:00
Padma, Santhosh Kumar
1001d58cca qcacld-3.0: Remove check against WMI_SVC_MSG_MAX_SIZE
Structure roam_offload_synch_ind has element hlp_data which is of
size FILS_MAX_HLP_DATA_LEN is greater than WMI_SVC_MSG_MAX_SIZE.
Hence, remove check for size of roam_offload_synch_ind against
WMI_SVC_MSG_MAX_SIZE to avoid roam failure. Also, modify check
for validity of vdev id.

Change-Id: I1b9cef08e1d847f27b7057abf7189ef0f867b92f
CRs-Fixed: 2124786
2017-10-12 14:03:19 -07:00
Kai Liu
1be510abee qcacld-3.0: skip notifying SSR framework when wlan unloading is ongoing
Fw assert and unloading can occur at same moment, there is no need
to recover if wlan unloading is ongoing, so skip notifying SSR framework
in such case.

Change-Id: I2176d1505e8e358f4436277e4d0b706923596f27
CRs-Fixed: 2087634
2017-10-12 14:03:13 -07:00
snandini
a963f8ae87 Release 5.2.0.48P
Release 5.2.0.48P

Change-Id: I725e76bf12c0f67a8ec50b7351c496b7f415643f
CRs-Fixed: 774533
2017-10-12 14:03:06 -07:00
Abhishek Singh
9d5f4580f0 qcacld-3.0: Use per session cb mode to validate channel bw switch
In driver as part of __wlan_hdd_cfg80211_set_ap_channel_width() driver
modify the channelBondingMode24GHz and this modified value is not
changed to default value once hostapd restarts.

Due to this when the 20/40 BSS Coexistence Management frame is
received and hostapd tries to change the width to 20Mhz using
__wlan_hdd_cfg80211_set_ap_channel_width(), as
channelBondingMode24GHz is already set to 0, the request is
ignored and SAP doesn’t switch to 20Mhz.

To fix this use per session cb mode to validate bw switch.

Change-Id: Ia233c478794602aa6909cf637c5fc8c82fc3433a
CRs-Fixed: 2058315
2017-10-12 14:03:00 -07:00
Vignesh Viswanathan
07db59ed46 qcacld-3.0: Add check for vdev_id in wma_unified_bcntx_status_event_handler
Currently resp_event->vdev_id, recevied from the FW, is directly used
to refer to wma->interfaces without validating if the vdev_id is valid.

Add sanity check to make sure vdev_id is less than max_bssid before
using it.

Change-Id: I734ff795a3936719b08493f868384dbde72a80df
CRs-Fixed: 2119394
2017-10-12 14:02:54 -07:00
snandini
a35ca6dbf5 Release 5.2.0.48O
Release 5.2.0.48O

Change-Id: Icf6195228dadf3f176317fc9ee574a1f45762615
CRs-Fixed: 774533
2017-10-12 14:02:48 -07:00
Vignesh Viswanathan
a3963373f6 qcacld-3.0: Avoid integer overflow in wma_ndp_end_indication_event_handler
In function wma_ndp_end_indication_event_handler, num_ndp_end_indication_list
from the fw is used to calculate buf_size which is in turn used to malloc.
This could lead to potential integer overflow if num_ndp_end_indication_list
is a very high value.

Add check to validate num_ndp_end_indication_list does not exceed the max
message size from firmware.

Change-Id: Icbb763bfc14ec0ef8424cab50afa5c6826fd3c60
CRs-Fixed: 2114255
2017-10-12 14:02:42 -07:00
Padma, Santhosh Kumar
1a99fe0842 Revert "qcacld-3.0: Logical AND current UAPSD bitmask with ADDTS rsp values"
Set uapsd_delivery_mask if either static mask uapsd_per_ac_bit_mask is
set or dynamic mask uapsd_per_ac_delivery_enable_mask is set. Both static
and dynamic masks need not to be set to enable uapsd_delivery_mask.
Similar logic is applicable as well for uapsd_trigger_mask. Hence, revert
commit 2560111dd2.

Change-Id: I743d11617e33e7a358473eeab4455339fe1bbd98
CRs-Fixed: 2123812
2017-10-12 14:02:37 -07:00
Mukul Sharma
07bd875c18 qcacld-3.0: Acquire wakelock until change iface timer expires
Currently, when wifi is disabled from UI, and if the device goes
to suspend before the interface change timer expires, then until
the next APPS wakeup wifi remains enabled hence power numbers are
high.
As a part of fix, Host acquire wakelock when it start change
interface timer.

Change-Id: I41662596725315a6cfe185ee23ae889b69938e0b
CRs-Fixed: 2091154
2017-10-12 14:02:31 -07:00
Sravan Kumar Kairam
6b727a4ca7 qcacld-3.0: Implement nbuf alloc fail replenish timer
Implement nbuf alloc fail replenish timer which starts when
there is an nbuf allocation failure and stops when there is
an nbuf allocation success with in the timer expiry duration.

Change-Id: Ie956ea144dec4323664632d00bb8f0f82ba22439
CRs-Fixed: 2033944
2017-10-12 14:02:26 -07:00
Vignesh Viswanathan
18827b06d7 qcacld-3.0: Add check for vdev_id in wma_p2p_lo_event_handler
Currently fix_param->vdev_id, recevied from the FW, is directly used
to refer to wma->interfaces without validating if the vdev_id is valid.

Add sanity check to make sure vdev_id is less than max_bssid before
using it.

Change-Id: I92743589e0333449c39e148b37d200cac2cdb817
CRs-Fixed: 2119434
2017-10-12 14:02:19 -07:00
Himanshu Agarwal
a1539d3e22 qcacld-3.0: Add sanity check for num_hw_modes and num_phy
Add sanity check for num_hw_modes and num_phy in wma_populate_soc_caps()
for WMI_SERVICE_READY_EXT_EVENTID.

Change-Id: I023d737449283f9ac092d278bde016b208b2c891
CRs-Fixed: 2119887
2017-10-12 14:02:13 -07:00
Himanshu Agarwal
8bcec57472 qcacld-3.0: Add INI support for best candidate algo and RSSI scoring
1) Currently all the parameter to decide best candidate are chosen
   as by default.
   Add INI support for those parameters to change values on basis
   of performance.
2) At the time of calculating best candidate score, rssi consider
   bucket size, good rssi, bad rssi, good rssi percentage from total
   rssi percentage, bad rssi percentage from total percentage.
   Configure these all params from ini.

Change-Id: I808a40486473fcbb161c12fbd369b3b846beb8c2
CRs-Fixed: 2121735
2017-10-12 14:02:08 -07:00
Vignesh Viswanathan
37794ae6dd qcacld-3.0: Fix potential buffer overwrite in wma_unified_link_iface_stats_event_handler
In function wma_unified_link_iface_stats_event_handler, num_ac is received
from the firmware and is used in the loop to populate values into results.
However the memory for results is allocated only for WIFI_AC_MAX and a
buffer overflow will occur of num_ac is greater than WIFI_AC_MAX.

Add checks to make sure num_ac is not greater than WIFI_AC_MAX and
num_offload_stats is not greater than WMI_OFFLOAD_STATS_TYPE_MAX.

Change-Id: Ife8b1d19aa853f85f4fad82d5791e49a8c892ca4
CRs-Fixed: 2114756
2017-10-12 14:02:02 -07:00
snandini
de7e6e987d Release 5.2.0.48N
Release 5.2.0.48N

Change-Id: I5c21b8bdc5e69b3879a037e3214afd15d1413f64
CRs-Fixed: 774533
2017-10-12 14:01:57 -07:00
Vignesh Viswanathan
832084b9e7 qcacld-3.0: Remove assert in wma_get_ll_stats_ext_buf
Assert added as part of I2689873c2c5e63c83e5059563662c0c69dc659fc
in wma_get_ll_stats_ext_buf is not required as it causes a stack
trace exposing further security issues.

Remove the assert in wma_get_ll_stats_ext_buf

Change-Id: I92a5eb1b287e61c7f2cc9d6dba92446719c3c6b2
CRs-Fixed: 2115112
2017-10-12 14:01:53 -07:00
snandini
3917b566c7 Release 5.2.0.48M
Release 5.2.0.48M

Change-Id: I1214759e02316ed0542b245a3229f08e6b2c9ac6
CRs-Fixed: 774533
2017-10-12 14:01:48 -07:00
tfyu
5f01db27c1 qcacld-3.0: Enable the TX orphan for TCP packets by gEnableTxOrphan
Enable the TX orphan for TCP packets by gEnableTxOrphan if TX flow control
is not enabled, such as SCC mode.

Change-Id: I0f3bc41bb22f8db10614d4833558caa664e52517
CRs-Fixed: 2123892
2017-10-12 14:01:42 -07:00
snandini
a2e3d2ca79 Release 5.2.0.48L
Release 5.2.0.48L

Change-Id: I0f0a63f9f9a72080d5c9188cadc7d9354a2372e4
CRs-Fixed: 774533
2017-10-12 14:01:37 -07:00
Ravi Kumar Bokka
c20393f2c2 qcacld-3.0: Fix for set11Dstate ioctl
In present code, by default csr_init11d_info() function return failure status.
Due to wrong return status, ioctl (set11Dstate) get failed.

correct return status in csr_init11d_info function.

Change-Id: I40f130454d259cbc8a22f16e27c2c1a9e7c10b07
CRs-Fixed: 1105989
2017-10-12 14:01:32 -07:00
snandini
3064f24f25 Release 5.2.0.48K
Release 5.2.0.48K

Change-Id: I5458daf04400a7c416fd1297e2216222187b24e8
CRs-Fixed: 774533
2017-10-12 14:01:27 -07:00
Jeff Johnson
435e1b8760 qcacld-3.0: Fix trivial long lines in wlan_hdd_assoc.c
Checkpatch has detected multiple instances of "line over 80
characters." Some of them are trivial, so fix them.

Note that there are some instances that can only be addressed by
refactoring the code, and those will be addressed later.

Change-Id: I5d23b8cc7643d83a349532e3f2d32cd27b5dca95
CRs-Fixed: 2122896
2017-10-12 14:01:23 -07:00
Jeff Johnson
21d63bbde7 qcacld-3.0: Fix whitespace issues in WE_UNIT_TEST_CMD handler
Change "qcacld-3.0: Provide SME API to send unit test command to FW"
introduced two whitespace-related issues flagged by checkpatch:
- WARNING: suspect code indent for conditional statements (16, 20)
- WARNING: Statements should start on a tabstop

Fix those issues, as well as update an error message to align with the
new design.

Change-Id: Ic58c3330f73c838ba100e7621ce23eadc3f0d7b0
CRs-Fixed: 2122894
2017-10-12 14:01:19 -07:00
Jeff Johnson
a5fb21806a qcacld-3.0: Remove unnecessary else in hdd_indicate_tsf_internal()
Checkpatch has detected one instance of "else is not generally useful
after a break or return" in hdd_indicate_tsf_internal(), so fix it.

Change-Id: I6aa92cc7966795e719eb5824a3a9354928e79590
CRs-Fixed: 2122872
2017-10-12 14:01:14 -07:00
Jeff Johnson
d6d1f63d73 qcacld-3.0: Fix long lines in wlan_hdd_power.c
Checkpatch has detected multiple instances of "line over 80
characters" so fix them. Also remove an obsolete extern to
eliminate an instance of "externs should be avoided in .c files."

Change-Id: Ic6b2082c2df0ffb20ce10c3c3a51c2fbebe849c7
CRs-Fixed: 2122873
2017-10-12 14:01:10 -07:00
Jeff Johnson
4929cd9a2d qcacld-3.0: Fix long lines in wlan_hdd_ipa.c
Checkpatch has detected multiple instances of "line over 80
characters" so fix them. Also fix one instance of "else is not
generally useful after a break or return."

Change-Id: Ifb03d4d1399a53fa69f03ce2f77ccfca3929d1cc
CRs-Fixed: 2122822
2017-10-12 14:01:05 -07:00
Jeff Johnson
6dff3eeb62 qcacld-3.0: Fix long lines in wlan_hdd_main.h
Checkpatch has detected instances of "line over 80 characters" so fix
them.

Change-Id: Ia4241c997a01979bd4e5aac32920f780641bcb01
CRs-Fixed: 2122693
2017-10-12 14:01:01 -07:00
Jeff Johnson
11b4c32fd0 qcacld-3.0: Fix long lines in wlan_hdd_nan_datapath.c
Checkpatch has detected instances of "line over 80 characters" so
fix them.

Change-Id: Id6cae4045104ed34cba84ef88b518e4b1da474f5
CRs-Fixed: 2122615
2017-10-12 14:00:57 -07:00
Jeff Johnson
2381294829 qcacld-3.0: Rename sap_restart_chan_switch_cb()
Functions exported by HDD should have an HDD prefix so rename
sap_restart_chan_switch_cb() since it is exported by HDD.

Change-Id: I7b871774bb537e60e2992d471ab57b342246dd50
CRs-Fixed: 2122575
2017-10-12 14:00:53 -07:00
Jeff Johnson
4ba73cb1f1 qcacld-3.0: hdd: Replace typedef tSirBssDescription
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirBssDescription typedef does
not meet any of those criteria, so replace references to it within HDD
with a reference to the underlying struct.

Change-Id: I13938fc15841986e9957f4774fbcfd035f734ccd
CRs-Fixed: 2122558
2017-10-12 14:00:49 -07:00
Jeff Johnson
38e38a8483 qcacld-3.0: Remove duplicate GET_IE_LEN_IN_BSS_DESC() macros
Both HDD and SAP define GET_IE_LEN_IN_BSS_DESC() macros, but these
macros simply replicate the logic already present in the global macro
GET_IE_LEN_IN_BSS(). Therefore delete these macros, and use
GET_IE_LEN_IN_BSS() instead.

Change-Id: I431984673141715ad32ca6ea96e31722129ce929
CRs-Fixed: 2122547
2017-10-12 14:00:45 -07:00
Jeff Johnson
e58271f05c qcacld-3.0: Rename struct sSirBssDescription
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename struct sSirBssDescription to align with
the Coding Style.

Note that it will be a separate exercie to replace instances of the
tSirBssDescription and tpSirBssDescription typedefs.

Change-Id: Ia698c5290e719ac6eef22cdee56e8954e5f61146
CRs-Fixed: 2122503
2017-10-12 14:00:41 -07:00
Jeff Johnson
011c450b4a qcacld-3.0: Add support for pdev_reset ioctl
Test team requires support for pdev_reset ioctl that is present
on other devices, so add support for it.

Change-Id: I8d9b30987dfbdbc94de0a1ab2a0c686c93c7da8a
CRs-Fixed: 2122060
2017-10-12 14:00:37 -07:00
Jeff Johnson
59eb5fde86 qcacld-3.0: hdd: Fix code indentation issues
Checkpatch identified multiple indentation issues in hdd including:
- Statements should start on a tabstop
- suspect code indent for conditional statements
- labels should not be indented

Fix these issues.

(Note that there is a false positive "labels should not be indented"
in wlan_hdd_memdump.c that should not being modified)

Change-Id: I781fb05bffe6c75183bdd45d797a248d2cd06e6b
CRs-Fixed: 2121931
2017-10-12 14:00:34 -07:00
Jeff Johnson
dcf84ce461 qcacld-3.0: hdd: Fix block comment issues
Checkpatch reported multiple block comment issues in hdd including:
- Block comments use * on subsequent lines
- Block comments should align the * on each line
- Block comments use a trailing */ on a separate line

Fix those issues.

Change-Id: Ic2b74c520ffb4be1c82fad6f6bdd0a9474d4b506
CRs-Fixed: 2121930
2017-10-12 14:00:31 -07:00
Jeff Johnson
33a079296b qcacld-3.0: hdd: Remove unnecessary void function return statements
Checkpatch reported multiple instances of "void function return
statements are not generally useful" in hdd, so remove them.

Change-Id: Ia6ac669bdb9eaa71f9a68f1ef20f230acd59bf76
CRs-Fixed: 2121928
2017-10-12 14:00:27 -07:00
Jeff Johnson
4f7f7c6739 qcacld-3.0: hdd: Add missing blank line after declarations
Checkpatch reported multiple instances of "Missing a blank line after
declarations" in hdd, so fix them.

Change-Id: I0b86be9066425d0a92f88b96e08ff4a57f91765e
CRs-Fixed: 2121927
2017-10-12 14:00:23 -07:00
snandini
78bcd2521b Release 5.2.0.48J
Release 5.2.0.48J

Change-Id: I0afb77dea8a384f31acc0e0992b3e6bad2f54eb5
CRs-Fixed: 774533
2017-10-12 14:00:18 -07:00
Sandeep Puligilla
a9de16b83a qcacld-3.0: Update the assoc reject status
Assoc reject status sent over the air
is internal failure status not inline
with the specification.

Update the assoc reject status sent
over the air.

Change-Id: I01250c63a42302d7b386a33aaf3b18e272581868
CRs-Fixed: 2115126
2017-10-12 14:00:15 -07:00
snandini
552c983728 Release 5.2.0.48I
Release 5.2.0.48I

Change-Id: I08edb80600e53097b6e65d0ffc69805f6e58ada3
CRs-Fixed: 774533
2017-10-12 14:00:12 -07:00
Arif Hussain
4549efa73b qcacld-3.0: Use updated dfs public function
Dfs public function are renamed to have utils_ prefix,
make sure to call new dfs public API's.

Change-Id: Ib36ebb6ca4d3838c5e7468e22f6dd5182a0a08e0
CRs-Fixed: 2124373
2017-10-12 14:00:08 -07:00
snandini
83955108bb Release 5.2.0.48H
Release 5.2.0.48H

Change-Id: I89d930c50b60c04b9d4b785d3b6622a91745ebef
CRs-Fixed: 774533
2017-10-12 14:00:05 -07:00
Kiran Kumar Lokere
9471221c04 qcacld-3.0: Reduce log messages during scanning
Excessive logging during scan causes the watchdog timeout
hence reduce the log messages in the scan path

Change-Id: I378e9667dfad15cfd5ba1c68484b97567af5d45f
CRs-Fixed: 2079149
2017-10-12 14:00:02 -07:00
Jeff Johnson
b4c2996223 qcacld-3.0: pmo: Fix block comments
Checkpatch reported multiple instances of block comments not aligning
on "*" so fix them.

Change-Id: I082f62f59fe16d84ba013adbbfcd2e9bf1985e3c
CRs-Fixed: 2122901
2017-10-12 13:59:59 -07:00
Houston Hoffman
59c9c91465 qcacld-3.0: add error handling for cdp_soc_attach
If cdp_soc_attach returns null, need to handle the error.

Change-Id: I8fe9c176ecf777564830baca9fc3b1e919fbb6e4
CRs-Fixed: 2118029
2017-10-12 13:59:56 -07:00
snandini
f038dfc2e9 Release 5.2.0.48G
Release 5.2.0.48G

Change-Id: I08289306955327056baff11db170f0a2f66c02c8
CRs-Fixed: 774533
2017-10-12 13:59:53 -07:00
Paul Zhang
008413c774 qcacld-3.0: Prevent buffer overflow
qcacld-2.0 to qcacld-3.0 propagation

In function wlanqcmbr_mc_process_msg, variable data_len
is from message, which should not be trusted. Buffer
overflow will happen if using it directory to copy data
to utf_buf.

Change-Id: I21479f510b95e6ced214f80d942db919837e8324
CRs-Fixed: 2116449
2017-10-12 13:59:50 -07:00
Yeshwanth Sriram Guntuka
a10da36a6b qcacld-3.0: Add host diag events for wow stats
Propagation from qcacld-2.0 to qcacld-3.0

Add diag event for wow packet counters stats.
The event EVENT_WLAN_POWERSAVE_WOW_STATS will be used to
inform the wow stats packet counters.

Change-Id: I9d1760aa6b790544b9879e7ef18d4f5359e0e245
CRs-Fixed: 1087714
2017-10-12 13:59:32 -07:00