Commit graph

8211 Commits

Autor SHA1 Nachricht Datum
Jiachao Wu
0411bc9be0 qcacld-3.0: Fix a memory leak in hdd_assoc handler
Function wlan_hdd_cfg80211_update_bss_db will return pointer of
struct cfg80211_bss.
Caller should invoke cfg80211_put_bss to free resource in pointer.
In some case those resource not be free.

Change-Id: I7fa55a09fcc3515361e9568cf87966e4533085e4
CRs-Fixed: 2146717
2017-12-02 06:08:45 -08:00
snandini
6f42696002 Release 5.2.0.55X
Release 5.2.0.55X

Change-Id: Idc595fe0d330504e3c2cccd748440364b17b3d0c
CRs-Fixed: 774533
2017-12-02 05:26:35 -08:00
Naveen Rawat
b7be1ed72c qcacld-3.0: Fix peer addition/removal API calls
Call object manager peer create API when NDP peer is create.
For peer delete, object manager API is called by deregister
sta API.

Change-Id: If84c9847d53b5563eea13646f669a6e8b7fd166d
CRs-Fixed: 2137426
2017-12-02 05:26:34 -08:00
snandini
8c638daa28 Release 5.2.0.55W
Release 5.2.0.55W

Change-Id: I05098099b6ca104ad4850a93db6055813cdfcf9a
CRs-Fixed: 774533
2017-12-02 01:40:51 -08:00
Srinivas Girigowda
3cc8e91b14 qcacld-3.0: clang: Remove unnecessary NULL check for address of array
Clang generated the following warning in various places:

warning: address of array 'weight->pcl_list' will always evaluate
to 'true' [-Wpointer-bool-conversion]
        if (weight->pcl_list) {
              ~~ ~~~^~~

Remove the unnecessary NULL check for address of array.

Change-Id: Ibc82b4d7135a0425748c0fb7f065435ccd28ad6f
CRs-Fixed: 2150410
2017-12-02 01:40:51 -08:00
Srinivas Girigowda
244c3f631e qcacld-3.0: Drop measurement pilot public action frame
Measurement pilot public action frame (Action Id = 7) is not
handled in the driver, if the AP is sending this action frame
it ends up waking up the APPS and burn battery.

Since anyway host is not handling this action frame, configure
the firmware to drop this action frame.

Change-Id: I15327f9af8cccaa7324e4e39f1e6336225740b75
CRs-Fixed: 2146506
2017-12-02 01:40:49 -08:00
Manjunathappa Prakash
794366e4b4 qcacld-3.0: Reorganize the tx & rx member of skb->cb structure
The current tx & rx member of skb->cb structure has lot of common members
duplicated across CONFIG_WIN and CONFIG_MCL.
The common members are now moved out and new members are added as per the
requirement. Also the members are organized to avoid additional padding
and fit within the 48 byte boundary for both 32bit & 64 bit platforms.

Change-Id: I27abc95d51127513cf2e7e9657a4ee84324b2cc9
CRs-Fixed: 2142792
2017-12-02 01:40:47 -08:00
Naveen Rawat
d773414489 qcacld-3.0: Send WOW timer pattern to firmware
Send WOW timer pattern to firmware when suspend is requested and
INSTALL_KEY is not sent to firmware yet. This will allow firmware
to wake host in case Eapol frames are not received and do a graceful
disconnect.

Change-Id: Ibbcc0af85ee9ddcd7f6559c83c67274508193004
CRs-Fixed: 2127634
2017-12-02 01:40:45 -08:00
snandini
4fa5c82616 Release 5.2.0.55V
Release 5.2.0.55V

Change-Id: I6e01ca20fc6d9dc06eeba2fccc159dfda3fa30ce
CRs-Fixed: 774533
2017-12-01 22:28:13 -08:00
Naveen Rawat
e795f456fc qcacld-3.0: Update HE_OPs, basic MCS set interpretation
Update HE_OPs, basic MCS set interpretation as per ieee80211ax
draft 2.0

Change-Id: I4c64f9e9568068c441e019fd83152d8c55c4c949
CRs-Fixed: 2142645
2017-12-01 22:28:12 -08:00
snandini
0c7e886a67 Release 5.2.0.55U
Release 5.2.0.55U

Change-Id: Ieb75bcb33bd9717b14f3f8b4c123fbab1d21a2c4
CRs-Fixed: 774533
2017-12-01 21:40:03 -08:00
Naveen Rawat
fc530313e1 qcacld-3.0: Update 11AX - Draft 2 support - 2/2
Update driver to conform with frame parser Draft 2 changes.

Change-Id: I29301ea894aedb36fea5d41f0e7c2bb2a7401397
CRs-Fixed: 2130375
2017-12-01 21:40:02 -08:00
Kiran Kumar Lokere
a6e01c070b qcacld-3.0: Do not process invalid reg update request
Do not process the reg notifier request if the regulatory
information is invalid

Change-Id: I13e288cd03e3fbdb192733a6675c7ec00e927250
CRs-Fixed: 2145505
2017-12-01 21:40:00 -08:00
snandini
8d4c8f06d9 Release 5.2.0.55T
Release 5.2.0.55T

Change-Id: I9c728ef766e7094c5788fd52517ee9af17a34c00
CRs-Fixed: 774533
2017-12-01 16:51:35 -08:00
Rakesh Pillai
0a54fa91df qcacld-3.0: Clear bad state of driver at start of probe
During SSR we check if the driver is in bad state, to decide
whether we should send suspend to the fw. This causes a race
when SSR occurs during driver probe, since the driver state is
still marked as bad.

Clear the flag indicating the driver state as bad during the
start of probe.

CRs-Fixed: 2144058
Change-Id: I13087dc65dbffa6a784395606fac2c41f6ce7591
2017-12-01 16:51:35 -08:00
Naveen Rawat
53448eacf4 qcacld-3.0: Rename enable_range_ext to range_ext
IOCTL cannot handle names more than 15 character long.
So rename enable_range_ext to range_ext.

Change-Id: I9134cc76357f1cd6e175581fa072a8cbb67c19e4
CRs-Fixed: 2146728
2017-12-01 16:51:32 -08:00
Kiran Kumar Lokere
1d411bbb76 qcacld-3.0: Correct the log level in LFR3 code path
Correct the log level for messsages in LFR3 code path

Change-Id: I05c36409fe4fba99a48f43df87e80176b2578f77
CRs-Fixed: 2151154
2017-12-01 16:51:29 -08:00
Tushnim Bhattacharyya
18b0eaab4f qcacld-3.0: Fix sap reinit after SSR
The reinit logic for SAP shouldn't initialize all the data
structures related to ACS to 0 after SSR.

Change-Id: Id637968b3e0edc0f3698836802012f5921c5c79e
CRs-Fixed: 2150314
2017-12-01 16:51:26 -08:00
snandini
71f2da2156 Release 5.2.0.55S
Release 5.2.0.55S

Change-Id: I75ae4d68f6e2966178b300466dfe4b92faa01d7b
CRs-Fixed: 774533
2017-12-01 14:40:47 -08:00
Mohit Khanna
6272fb68a8 qcacld-3.0: Add ini support for tcp_adv_win_scale
WLAN driver changes this system paramerter (via cnss-daemon) when the RX
throughput requirement changes LOW->HIGH or HIGH->LOW. This depends on
the whether the number of RX packets received in last 100ms interval is
greater than 500 or not. The 100ms and 500 thresh params are
configurable via WLAN ini file WCNSS_qcom_cfg.ini.

Add ini support to enable/disable changing of this system parameter by
WLAN driver. Since tcp_adv_win_scale is a system parameter, some
customers may not want the WLAN driver to change it and may want to set
their own default values.

"gTcpAdvWinScaleEnable=0" when added to the ini file will prevent
the driver from making any changes to the system parameter
"/proc/sys/net/ipv4/tcp_adv_win_scale". The default value of the ini
file param gTcpAdvWinScaleEnable is "1".

CRs-Fixed: 2033338
Change-Id: I19288bba11841cf176118abaf08ccaabaf2f79b9
2017-12-01 14:40:46 -08:00
snandini
fda0d6e09e Release 5.2.0.55R
Release 5.2.0.55R

Change-Id: Id13430807ce03942e4e44484ebd0d6caf184f70b
CRs-Fixed: 774533
2017-12-01 13:39:59 -08:00
Yue Ma
b8b2946e3b qcacld-3.0: Remove unused PLD PCIe APIs
These APIs are replaced by the ones with device pointer.

Change-Id: Ic13409af5814dec65ac071236af780159624c147
CRs-fixed: 2151189
2017-12-01 13:39:58 -08:00
Dustin Brown
f4a6e0f6ad qcacld-3.0: Use try_get_ref API in hdd_vdev_create
hdd_vdev_create currently uses the unconditional vdev ref grabbing API,
wlan_objmgr_vdev_get_ref. While this may be the single valid use case
for the API outside of objmgr core, it is better to avoid using the
uncondional API outside of objmgr core at all. This sets a good example
for future consumers of the vdev ref APIs, and makes it easier to spot
incorrect usages of the unconditional API. In hdd_vdev_create, use
wlan_objmgr_vdev_try_get_ref and abort the vdev create operation if a
reference cannot be obtained.

Change-Id: Iafdcec9752b7189f8c74b8838b2d9261676184f9
CRs-Fixed: 2150258
2017-12-01 13:39:55 -08:00
Vignesh Viswanathan
4f75cf5ea5 qcacld-3.0: Fix buffer overread in wma_extscan_cached_results_event_handler
In function wma_extscan_cached_results_event_handler,
event->num_entries_in_page is received from the FW and is used in the
function wma_extscan_find_unique_scan_ids to calculate scan_ids_cnt
from src_rssi buffer. If the value of num_entries_in_page is greater
than the number of src_rssi buffers present, a buffer overread would
occur in the function wma_extscan_find_unique_scan_ids.

There is already a check in place to valudate num_entries_in_page in
the function wma_extscan_cached_results_event_handler however it is done
after the call of wma_extscan_find_unique_scan_ids.

Move the checks on num_entries_in_page before using it in the function
wma_extscan_cached_results_event_handler

Change-Id: Ib5e803589deb6ca074cb70326b9ce846d0754a73
CRs-Fixed: 2149720
2017-12-01 13:39:53 -08:00
snandini
be959b9f27 Release 5.2.0.55Q
Release 5.2.0.55Q

Change-Id: I3a5c12beecb8517818216b256954977e5442455a
CRs-Fixed: 774533
2017-11-30 03:40:24 -08:00
Mukul Sharma
228223a52d qcacld-3.0: Converge on wmi event registration / unregistration
Converge on wmi event registration / unregistration method.

Change-Id: Ic52f1df596d0a62f13a478cb2898e508082f7c09
CRs-Fixed: 2148474
2017-11-30 03:40:23 -08:00
snandini
63016d8f2e Release 5.2.0.55P
Release 5.2.0.55P

Change-Id: I3c53b6eb6046a588997b2ebcfe7d9d6afc5d759d
CRs-Fixed: 774533
2017-11-29 09:26:18 -08:00
Vignesh Viswanathan
df0571af31 qcacld-3.0: Fix buffer overwrite due to ssid_len in WMA handlers
In multiple WMA event handler functions, ssid_len is used to copy
ssid from FW buffer to local buffer and ssid_len value is received
from the FW. If the ssid_len value exceeds SIR_MAC_MAX_SSID_LENGTH
then a buffer overwrite would occur.

Add sanity check for ssid_len against SIR_MAC_MAX_SSID_LENGTH in
multiple WMA handler functions

Change-Id: I9e4b1f88c275093b4912496cdb936cf54a8880a2
CRs-Fixed: 2149531
2017-11-29 09:26:18 -08:00
Vignesh Viswanathan
ad7eded05e qcacld-3.0: Fix buffer overflow in wma radio_tx_power_level_stats handler
In function wma_unified_radio_tx_power_level_stats_event_handler,
power_level_offset is received from the FW and is used to memcpy data
from FW to local tx_time_per_power_level for num_tx_power_levels length.
However tx_time_per_power_level is allocated only for
total_num_tx_power_levels length.
If the power_level_offset is greater than total_num_tx_power_levels, then
a buffer overwrite would occur.

Add sanity check to make sure power_level_offset does not exceed
total_num_tx_power_levels

Change-Id: Ia363512ee35bb0e30b137c20bf092238c2e356da
CRs-Fixed: 2149501
2017-11-29 09:26:15 -08:00
snandini
7ec4eb4141 Release 5.2.0.55O
Release 5.2.0.55O

Change-Id: I69e43a9a2218bab6d9a0076c56a9c92b836a9b4c
CRs-Fixed: 774533
2017-11-28 19:39:02 -08:00
Will Huang
3cd2b7c566 qcacld-3.0: Enable D0WOW for pcie
Enable FEATURE_WLAN_DOWOW for pcie.
This is for backward compatible with rome fw.

Change-Id: Ia2107ff6939666b4a0bd19d57149d17814f2dfb5
CRs-Fixed: 2070426
2017-11-28 19:39:01 -08:00
Arun Khandavalli
5a62a82f0f qcacld-3.0: set modules_inprogress only when modules state is < 3
check if the modules are enabled before setting the
start_modules_in_progress flag. In some scenario one
thread could be checking if the modules is enabled
by setting start_modules_inprogress flag, in the
other thread context some process reading this flag
can take a wrong decision resulting in
not expected output even though modules are properly enabled.

Hence, set the start_modules_inprogress only if
modules are not enabled.

CRs-Fixed: 2142855
Change-Id: I24345375bb1ad21d055ff934a72b3df4d815ea16
2017-11-28 19:38:57 -08:00
snandini
538fdc570d Release 5.2.0.55N
Release 5.2.0.55N

Change-Id: Ib5d4bea57a03307e52f97d3efe800100f598b4ae
CRs-Fixed: 774533
2017-11-28 07:26:19 -08:00
Arunk Khandavalli
96c122ff77 qcacld-3.0: Free the ies in case during the stop adapter
Reset the sap configuration ie while stopping the adapter in
the sap mode to avoid memory leak.

Change-Id: I5b47afe561430fcb3f508820bc74c28b56d28b3c
CRs-Fixed: 2123524
2017-11-28 07:26:19 -08:00
snandini
942002f86a Release 5.2.0.55M
Release 5.2.0.55M

Change-Id: I0a57344be94e0c316df1c0a5213942a96886a137
CRs-Fixed: 774533
2017-11-27 19:21:15 -08:00
Naveen Rawat
40fb480580 qcacld-3.0: Update 11AX - Draft 2 support - 1/2
Update HE capability IE in frame parser as per Draft 2.

Change-Id: Iea32b9ff772f73d5f2ecbf638a0dda96cf17ce46
CRs-Fixed: 2130375
2017-11-27 19:21:14 -08:00
snandini
c313dd308a Release 5.2.0.55L
Release 5.2.0.55L

Change-Id: I452dc42c72bc155344bef495044130c38167dbb7
CRs-Fixed: 774533
2017-11-27 16:37:23 -08:00
Arif Hussain
110965e97b qcacld-3.0: Remove dfs source from qcacld-3.2 project
Remove unused dfs code from qcacld-3.2 project as dfs
code moved to cmn project.

Change-Id: I21a8e5a39df9241544ef53baf42d3aa0ba434636
CRs-Fixed: 2133649
2017-11-27 16:37:22 -08:00
snandini
594c87a324 Release 5.2.0.55K
Release 5.2.0.55K

Change-Id: I4dd435744017b51d20ee2875bff040216af88145
CRs-Fixed: 774533
2017-11-27 13:33:34 -08:00
Naveen Rawat
def4e79bc3 qcacld-3.0: Change local variables to dynamic in lim_process_auth_frame
Propagation from qcacld-2.0 to qcacld-3.0.

Change local variables to dynamic in lim_process_auth_frame as stack frame
over 1024 bytes may cause build failure in 32 bit platforms.

Change-Id: I83cf5ab24693e0ce012894d808ac79bf37fa9a08
CRs-Fixed: 2147286
2017-11-27 13:33:34 -08:00
snandini
13ff919d60 Release 5.2.0.55J
Release 5.2.0.55J

Change-Id: Ie2390bcd8365eaca9cd1146a02be76bec17cefcb
CRs-Fixed: 774533
2017-11-27 12:51:53 -08:00
Jeff Johnson
e1f2b0e66a qcacld-3.0: Validate kek_len in wlan_hdd_save_gtk_offload_params
Although the kek_len should have already been validated before the
function is called, update wlan_hdd_save_gtk_offload_params() to limit
kek_len to the maximum allowed value before using it to copy the kek.

Change-Id: I0676521171343c6fe58afcdc31477f555598c490
CRs-Fixed: 2140033
2017-11-27 12:51:52 -08:00
snandini
f6c8932422 Release 5.2.0.55I
Release 5.2.0.55I

Change-Id: If24a93ce7aa116a1becda110ff832e6869548107
CRs-Fixed: 774533
2017-11-27 03:33:56 -08:00
Jingxiang Ge
cc7e1f4855 qcacld-3.0: Fix kernel disconnect indication mismatch issue
While stop interface by "ifconfig wlan0 down" in connection
status, in wlan_hdd_try_disconnect, the disconnect indication
doesn't send to kernel, wdev->current_bss in kernel will not
be null; In nl80211_trigger_scan, it will check wdev->current_bss,
it will return if it is not NULL, which causes scan fail, and
this is a very low ratio issue.

Add disconnect indication to kernel.

Change-Id: I5f652b49c87ff2fb5c7f34dd3a826307fb3bb7e1
CRs-Fixed: 2128100
2017-11-27 03:33:55 -08:00
snandini
a014c700a8 Release 5.2.0.55H
Release 5.2.0.55H

Change-Id: If4864cfc5232e4535548dee7cc32cd4c115b6c18
CRs-Fixed: 774533
2017-11-25 05:20:25 -08:00
Bala Venkatesh
b9cf336a5a qcacld-3.0: Add INI to force the P2p-Go to 11n for 11AC
The existing INI gSapForce11NFor11AC forces both P2P-Go and  SAP to 11n for
11AC. Add gGoForce11NFor11AC to force SAP and GO separately.

Change-Id: I26dce96ec582bed0ff3c62bd5f06fc96e85f0ee4
CRs-Fixed: 2140051
2017-11-25 05:20:24 -08:00
snandini
2d2bd13d8c Release 5.2.0.55G
Release 5.2.0.55G

Change-Id: I6f278a48557bb9537eb6a2e227212edc98b34b61
CRs-Fixed: 774533
2017-11-24 04:02:06 -08:00
Vignesh Viswanathan
fc5bbedd4a qcacld-3.0: Fix buffer overread in wma_extscan_hotlist_match_event_handler
In function wma_extscan_hotlist_match_event_handler, numap and src_hotlist
are received from the FW. src_hotlist is pointer to the hostist data
and is looped for numap times and copied to the local buffer dest_hotlist.
If the value of numap is not equal to the number of src_hotlist data
present in the buffer, buffer overread would occur during memcpy.

Add check to validate the len of the buffer received from the FW is not
less than the size of fixparam struct + (numap * src_hostlist structure)

Change-Id: I2dc596f91bc49ccf0327062aa6732cd072d52085
CRs-Fixed: 2139436
2017-11-24 04:02:06 -08:00
snandini
a6a463da99 Release 5.2.0.55F
Release 5.2.0.55F

Change-Id: I8ad8501e57262fa393a5dff8824dacaec1ba5195
CRs-Fixed: 774533
2017-11-24 03:21:49 -08:00
Abhishek Singh
b6cdaf12e6 qcacld-3.0: Add new scoring logic with user configuration
Adds new scoring logic with user configuration

Change-Id: Ib41190b4f7ea620d6889ca63842ed8102c16c319
CRs-Fixed: 2144590
2017-11-24 03:21:48 -08:00