Commit Graph

11899 Commits

Author SHA1 Message Date
Dustin Brown
25843ad715 qcacld-3.0: Move pld_init just before pld_register
The PLD data structures initialized in pld_init() are not used before
PLD registration, and do not need to be the very first thing initialized
in the driver. Move the call to pld_init() to immediately before these
data structures are used for the first time in the PLD registration
process.

Change-Id: I5bee6b03eddfd749758f48a82f5c7f0a870b1504
CRs-Fixed: 2317859
2018-09-20 16:40:15 -07:00
nshrivas
a5d7d9a5ec Release 5.2.0.97U
Release 5.2.0.97U

Change-Id: I0f4705c41db0b026b91de11d145d6bb7ce80e9b7
CRs-Fixed: 774533
2018-09-20 14:54:44 -07:00
Alok Kumar
ea70b1c815 qcacld-3.0: Enable NUD tracking feature by default in driver
By default enable the NUD tracking within driver.

Change-Id: I0501ae4f90934139a3610c2cd74464e97a1100d8
CRs-Fixed: 2317572
2018-09-20 14:54:43 -07:00
Sravan Kumar Kairam
657f89e1e5 qcacld-3.0: Send IPA UC disconnect events during SSR
Currently during SSR IPA events such as AP DISCONNECT/
STA DISCONNECT are not sent and also wlan ipa interafces
are not deregistered. After SSR when host sends AP CONNECT/
STA CONNECT and register interafce IPACM will reject as for
previous events before SSR there are no disconnect events.
This leads to data come via exception path instead taking
IPA HW route as interface headers are not registered.

In this fix send IPA UC disconnect events and deregister
interafces during SSR.

Change-Id: I6e617261ec53b7d572023613d212eae057b13b03
CRs-Fixed: 2315828
2018-09-20 14:54:40 -07:00
nshrivas
f23e4d7636 Release 5.2.0.97T
Release 5.2.0.97T

Change-Id: I5c6dec0b8cd27850c77ce7c74a7061c0a1098d08
CRs-Fixed: 774533
2018-09-20 13:10:34 -07:00
Jianmin Zhu
c2eae9c566 qcacld-3.0: MCL change after serialization enhancement
1. Set all MCL cmds as blocking cmds.
2. Rename WLAN_SER_CMD_STOP_BSS to WLAN_SER_CMD_VDEV_STOP_BSS.
3. Add new binary files and remove old binary files in Kbuild.
4. Disable CONFIG_SERIALIZATION_V1 in Kbuild, switch to new
   serialization code.

Change-Id: I46f876e4cbc31881ca0559e4705cddf4a26a46c1
CRs-Fixed: 2315411
2018-09-20 13:10:34 -07:00
nshrivas
6e45afbd0d Release 5.2.0.97S
Release 5.2.0.97S

Change-Id: I60533098a2c20ef4e90b7b689b66e081f591d290
CRs-Fixed: 774533
2018-09-20 10:30:08 -07:00
Bala Venkatesh
2fde2c61db qcacld-3.0: SAP CFG Items part 2
Add support for the sap cfg items in new mlme component

Change-Id: I80f3f00a85720fe7bec11575fe67dd2f6b9d44b2
CRs-Fixed: 2316643
2018-09-20 10:30:08 -07:00
nshrivas
422389dc4d Release 5.2.0.97R
Release 5.2.0.97R

Change-Id: Iadcd7a2c1f4080d4f5c7d23696609ae1edeb4ef4
CRs-Fixed: 774533
2018-09-20 00:56:16 -07:00
Jianmin Zhu
9058c52fb6 qcacld-3.0: Fix assert for NULL vdev in csr_nonscan_pending_ll_next
If SSR during sme close session when interface down and vdev
destroy, qdf_session_close_event is completed forcely before
peer detached, vdev becomes LOGICALLY_DELETED instead of
destroyed actually for peer ref count is held.

When bss is deleted and eWNI_SME_JOIN_RSP is handled,
is_disconnect_pending-> csr_nonscan_pending_ll_next is called,
wlan_objmgr_get_vdev_by_id_from_psoc return NULL,  cmd.vdev is
NULL, NULL pointer dereference will happen.

Change-Id: I790a12483c2b9f967da9ced387935f93a6168e81
CRs-Fixed: 2316960
2018-09-20 00:56:16 -07:00
nshrivas
e17cad6f05 Release 5.2.0.97Q
Release 5.2.0.97Q

Change-Id: Ia941f8473696b59fe576f33c6c584c8202694e1d
CRs-Fixed: 774533
2018-09-19 23:15:16 -07:00
Vignesh Viswanathan
987f0bba09 qcacld-3.0: Use MLME CFG for BSS Scoring Items
Implement the usage of MLME CFG infra for BSS Scoring related INI Items
and remove the older INI definitions from HDD.

Change-Id: I0db69138f0439131916a38176b5b21b706ff3671
CRs-Fixed: 2318320
2018-09-19 23:15:15 -07:00
Dundi Raviteja
db2dbab047 qcacld-3.0: Possible NULL pointer dereference in pmo
Currently, the return value of get_wmi_unified_hdl_from_psoc() API
is passing directly as argument to some functions without checking
the return value for NULL which may cause NULL pointer dereference.

To address this issue, add NULL checks for return value of
get_wmi_unified_hdl_from_psoc() API where ever it is getting used.

Change-id: I60e89b5305ad31d8663a8feed3cb0f71105bb060
CRs-Fixed: 2316868
2018-09-19 23:15:11 -07:00
Vignesh Viswanathan
ff78bc174f qcacld-3.0: Add BSS Scoring Related INI Items
Add BSS Scoring Related CFG Items to CFG Component.

Change-Id: Icb012f2560e7ebed298d2041085a516c582e56b6
CRs-Fixed: 2318316
2018-09-19 23:15:08 -07:00
Sravan Kumar Kairam
0ebf453164 qcacld-3.0: Use psoc handle to check for wmi service cap
wma_mgmt_nbuf_unmap_cb uses wma handle to check if wmi service
capability for mgmt is supported. If wma handle is freed before
call back is invoked it returns with out doing unmap of nbuf.
Instead of wma handle use psoc object handle which has the
information about wmi service capability support.

Change-Id: Icbdeb155be0fb5d056dd876faa2bd73f78cd9db7
CRs-Fixed: 2317785
2018-09-19 23:15:04 -07:00
nshrivas
ffc3530786 Release 5.2.0.97P
Release 5.2.0.97P

Change-Id: I94356b91fef972ef7453af7227036b0f1ed07976
CRs-Fixed: 774533
2018-09-19 21:04:37 -07:00
Alok Kumar
016a1aca3a qcacld-3.0: In nud_reset_tracking, flush NUD work based on flag
Race condition occurs when NUD failure happens and NUD work is
scheduled and at the same time within driver csr disconnect
issued because of Roam Sync failure.

Disable flush of NUD work in hdd_nud_reset_tracking during
hdd_dis_connect_handler()

Change-Id: I3d24073c5c8047fad42309e878f3741c7a2d268e
CRs-Fixed: 2315973
2018-09-19 21:04:36 -07:00
nshrivas
c5c8a8de1b Release 5.2.0.97O
Release 5.2.0.97O

Change-Id: If837c1ae3efd484811b328e6ca835e598bdf40ee
CRs-Fixed: 774533
2018-09-19 19:32:46 -07:00
Yuanyuan Liu
e470977e9f qcacld-3.0: Call icnss API to check if WLAN FW is down
If modem crashed during wlan driver unloading, icnss driver
will call driver uevent callback to set FW down status in
driver side when it receives BEFORE_SHUTDOWN notification.
If wlan driver is de-initialized just before the callback
is called, kernel will panic as driver's context is freed.
This can be avoid by not setting FW status in host driver.
Instead, icnss driver provides an API to host driver to
check FW status and host driver calls this API before any timeout
assert or accessing HW registers.

CRs-Fixed: 2161431
Change-Id: I8331367dd41dd0cedfa65c63f1bb3ffcb535e1c9
2018-09-19 19:32:46 -07:00
Abhinav Kumar
c816a9515d qcacld-3.0: Revert "qcacld-3.0:Fix the IOT issue with TxBF CSN value"
This reverts the change-Id: Iec7423809f5225de9b5c4d08d7806a8a2a9dfe06.
Advertise the min of self TxBF CSN and APs TxBF CSN value to
fix the IOT issue with the AP.

Change-Id: Ifd344bfd3cb6ca5a18d356b888d85bd100d4194d
CRs-Fixed: 2312098
2018-09-19 19:32:42 -07:00
nshrivas
f23268eebc Release 5.2.0.97N
Release 5.2.0.97N

Change-Id: Id970f5c36cb727260239609348d263c5db6bff3f
CRs-Fixed: 774533
2018-09-19 14:45:56 -07:00
Rajeev Kumar
e555e2d15c qcacld-3.0: Remove timer debug and memory debug string
Remove timer debug and memory debug string from hdd_module_init
since g_wlan_driver_version already has timer and memory debug
string levels.

Change-Id: I8ef9f43d971df18b5184d76c5a3f4628feb8d12d
CRs-Fixed: 2316929
2018-09-19 14:45:55 -07:00
nshrivas
31094f8cdb Release 5.2.0.97M
Release 5.2.0.97M

Change-Id: I147a83c8061c1e95f5857fb8ae865d63fd31dd85
CRs-Fixed: 774533
2018-09-19 08:33:13 -07:00
Vignesh Viswanathan
32f21c89bd qcacld-3.0: Update CSR session PMK during Roam Sync Propagation
Currently CSR session PMK is updated from the set_key command from
supplicant after successful 8 way handshake with the AP. However,
in case of roaming to an AP which already has the PMKID cached, the
Roam Sync happens with Auth Status Authenticated and set_key from the
supplicant does not happen. In this case, the value in the CSR session
PMK is incorrect and is the PMK of the previous AP before roaming.
After this scenario, if any RSO command is sent to the FW, the incorrect
PMK is sent as part of the RSO command updating the FW with incorrect
PMK for the current AP. The next time a roaming happens to the same AP,
then the 4 way handshake fails and fallback to 8 way handshake happens.

Update the PMK in CSR session for the current AP from PMKID cache
during Roam Sync propagation, if the Auth Status is authenticated.

Change-Id: I3ced7d0fd75379ede01cf9f993f5beefbb20cda1
CRs-Fixed: 2313289
2018-09-19 08:33:13 -07:00
nshrivas
8e7cf01501 Release 5.2.0.97L
Release 5.2.0.97L

Change-Id: Icaf05c16deca34caa93f397328c91d8bd0e068a1
CRs-Fixed: 774533
2018-09-19 01:15:29 -07:00
Vignesh Viswanathan
dada79318c qcacld-3.0: Append MBO IE from supplicant to Assoc Request Frame
The MBO IE sent from the supplicant supports multiple TLVs of the
same attribute type to be present. For example, for MBO case 5.2.8,
the supplicant sends 2 non-Preferred channel TLVs in the MBO IE.
However, when the driver unpacks the MBO IE for the Assoc Request
frame using frame parser, it supports only one unique TLV of each
attribute type in the MBO IE. So the second non-Preferred channel
TLV overwrrites the first TLV and the driver sends out Assoc Request
frame with only one non-Preferred Channel TLV in the MBO IE causing
the test case to fail.

Strip the MBO IE in the Additional IEs from supplicant and append
it to the end of the Assoc request frame without parsing it.

Change-Id: I35ede59983ef63268e4648bb38217ebec2454382
CRs-Fixed: 2310297
2018-09-19 01:15:29 -07:00
Vignesh Viswanathan
f04daafe76 qcacld-3.0: Reset 11i parameters in RSO command
PMK caching and OKC is valid only in non CCKM roaming scenarios.
If these parameters passed to FW in CCKM case then device may add the
PMKID in reassoc request frames which is not expected.
So reset 11i parameters in RSO command if the authentication type is
CCKM.

Change-Id: I32bdb288e7fa557f133b7f311f51d85d57ff659b
CRs-Fixed: 2306038
2018-09-19 01:15:25 -07:00
nshrivas
2464382942 Release 5.2.0.97K
Release 5.2.0.97K

Change-Id: Ib22aa14bbae1f90f6a1f72029792c9223bd60280
CRs-Fixed: 774533
2018-09-18 23:40:00 -07:00
Tushnim Bhattacharyya
c08f4abac1 qcacld-3.0: Reduce log level in csr_roam_close_session
Reduce log level from error to debug in csr_roam_close_session.

Change-Id: Ifc486feefe2cde4635617f327fa5256bac202160
CRs-Fixed: 2317871
2018-09-18 23:39:59 -07:00
Jianmin Zhu
13921e9f1e qcacld-3.0: Fix compiling issue of __DP_RX_THREAD__H
error: '__DP_RX_THREAD__H' is used as a header guard here,
followed by #define of a different macro [-Werror,
-Wheader-guard]

Change-Id: I21beca14c8ea98a9a6c4a4acd5f3c7428fd56e01
CRs-Fixed: 2315965
2018-09-18 23:39:56 -07:00
nshrivas
12744c44e1 Release 5.2.0.97J
Release 5.2.0.97J

Change-Id: I77ea8e0cf85d9c768437c63001ec2c988ee10c4a
CRs-Fixed: 774533
2018-09-18 16:17:40 -07:00
Ashish Kumar Dhanotiya
8ed432bbaa qcacld-3.0: Cache last connection info correctly
Currently copy of the last connection info is done
incorrectly inside hdd_save_bss_info api.
To address this issue update the memcopy with the
correct structure.

Change-Id: Ibc604650cd1d39c7b19619057427955ba3e4026f
CRs-Fixed: 2307526
2018-09-18 16:17:40 -07:00
nshrivas
1b249bbdd7 Release 5.2.0.97I
Release 5.2.0.97I

Change-Id: I6a66ac505e8b2e275a1a1098b940b93512860767
CRs-Fixed: 774533
2018-09-18 12:49:01 -07:00
Wu Gao
ca416ff63a qcacld-3.0: Apply mlme lfr configuraions
Since refined mlme lfr configures based on converged cfg component,
apply mlme lfr configurations, remove related legacy codes.

Change-Id: Iebda5bbb3c5c68b922b7f6ac1adaf25cccf903a6
CRs-Fixed: 2316494
2018-09-18 12:49:00 -07:00
Wu Gao
55f2171184 qcacld-3.0: Refine mlme lfr configurations
Define mlme lfr configures based on converged cfg component, add
APIs to get and set mlme lfr configurations.

Change-Id: I8aa9b37d1b943fcdc6a84704ede37b19cd7cffb8
CRs-Fixed: 2316490
2018-09-18 12:48:57 -07:00
gaurank kathpalia
36b0c58a5d qcacld-3.0: Add src, and dst id support in SME
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg

Replace the scheduler_post_msg with scheduler_post_message

Change-Id: If929a98b8b9d5b1b9c8f0291876e410a3dfbdf49
CRs-Fixed: 2305983
2018-09-18 12:48:54 -07:00
Dustin Brown
76cd293220 qcacld-3.0: Introduce hdd_contex.psoc
The name 'hdd_psoc' is misleading, since it is not actually an HDD psoc
context. Rather, it is the Object Manager psoc context. Rename hdd_psoc
to psoc for consistency, and to make room for HDD to have its own psoc
context.

As a first step towards this large renaming, introduce a union in
hdd_context such that such both names can exist during the transition
period.

Change-Id: I9971c478c0d1dc111bb20a7cd6614f73ffb0b15d
CRs-Fixed: 2315990
2018-09-18 12:48:50 -07:00
Sourav Mohapatra
49ce4cec0f qcacld-3.0: Add support to send RX stats to framework
As a part of the cfg80211_get_station command, the driver sends TX stats
(tx rate, MCS index, NSS and flags). Currently there is no support to
send the similar RX stats.

Add support to send RX stats to the framework.

Change-Id: Ic66596d118ad1395706db7638da1b4fdef7dc2d5
CRs-Fixed: 2303306
2018-09-18 12:48:47 -07:00
nshrivas
97b3209cdc Release 5.2.0.97H
Release 5.2.0.97H

Change-Id: Iebb6f15e4d57e8ad7e5c543f8d89ecb4a67e33d2
CRs-Fixed: 774533
2018-09-18 06:17:06 -07:00
Pragaspathi Thilagaraj
cd6aef0bd3 qcacld-3.0: Add MLME CFG items of MBO INI configs
Add the MBO ini configs to mlme for the following:
1. CFG_MBO_CANDIDATE_RSSI_THRESHOLD
2. CFG_MBO_CURRENT_RSSI_THRESHOLD
3. CFG_MBO_CUR_RSSI_MCC_THRESHOLD
4. CFG_MBO_CAND_RSSI_BTC_THRESHOLD

Change-Id: I9e779c912538973c8281170ec8c212a4f05b7e2e
CRs-Fixed: 2314168
2018-09-18 06:17:05 -07:00
nshrivas
1849e963ff Release 5.2.0.97G
Release 5.2.0.97G

Change-Id: I79bd7ee5f940f65850a3cb2f8c09198801aaeec8
CRs-Fixed: 774533
2018-09-18 01:02:59 -07:00
Sravan Kumar Kairam
0512a84dba qcacld-3.0: Dequeue nbuf list from rx thread before continue
Currently in function dp_rx_thread_process_nbufq inside while
loop with nbuf list as condition if peer or vdev is not found
nbuf list is freed but not assigned to NULL and continue operation
is done. This leads to invalid freed nbuf list access in successive
loop iteration. In this change after nbuf list is freed assign it
to the next nbuf list which is in the rx thread queue.

Change-Id: I4b595a8708f91677645815105ad736926de91758
CRs-Fixed: 2309908
2018-09-18 01:02:59 -07:00
Yu Wang
68baaddd7f qcacld-3.0: check the data length when downloading firmware
When downloading a corrupted firmware file that has chunk length in
header which doesn't match the contents, buffer over-read may occur.

To fix it, before downloading the data, ensure the length is equal or
smaller than the left size of the firmware file.

Change-Id: I4e0c6c4423f94f26a8c4573b5d234296890f4ecf
CRs-Fixed: 2314182
2018-09-18 01:02:55 -07:00
nshrivas
94d245e1ed Release 5.2.0.97F
Release 5.2.0.97F

Change-Id: I6c87b644fb5df17ba96eff54c09006fe70aec11a
CRs-Fixed: 774533
2018-09-17 21:29:12 -07:00
Manjunathappa Prakash
a4272ab881 qcacld-3.0: Fix locking order in ol_txrx_disp_peer_stats()
Fix the locking order of pdev->peer_ref_mutex and pdev->local_peer_ids.lock
spin_locks in ol_txrx_disp_peer_stats(), this was resulting in deadlock
with lock order in ol_txrx_peer_get_ref_by_local_id().

Change-Id: I51d39daed7f8fb04c30fd6a73e2f9ca388543620
CRs-Fixed: 2315808
2018-09-17 21:29:12 -07:00
Nirav Shah
af1260fb4d qcacld-3.0: CE services separation for legacy and lithium architecture
CE service file includes APIs for both legacy and lithium architecture.
Legacy service APIs compiled for lithium architecture.
Separate the CE services into legacy and srng and selectively compile
required files.

Change-Id: Iad6b6c7cef7520e1e7b74da83805290eddcbabf6
CRs-Fixed: 2304556
2018-09-17 21:29:08 -07:00
Arif Hussain
6b0ed167ad qcacld-3.0: Fix possible OOB in wma_unified_radio_tx_mem_free()
In wma_unified_radio_tx_mem_free() function, results buffer array may be
dereferenced with large index value, that may result OOB memory access.

Fix the same by correcting incrementing pointer to results buffer.

Change-Id: I57a26dba9db32758c7d7fd51b99d3364a8020a9d
CRs-Fixed: 2308644
2018-09-17 21:29:04 -07:00
nshrivas
0b0463506c Release 5.2.0.97E
Release 5.2.0.97E

Change-Id: I8853eaf091110c24bd563aeaa929826207e929cb
CRs-Fixed: 774533
2018-09-17 17:53:38 -07:00
Dustin Brown
4b9dbe62c7 qcacld-3.0: move registration to end of driver load
An upcoming change will add synchronization to the driver load
operation. Effectively, driver load and psoc probe will need to be
exclusive operations. Because driver registration can synchronously
invoke psoc probe, move this registration to the end of the driver load
function. This prepares the way for adding synchronization around the
bulk of the load logic, and releasing it just before registration. This
avoids issues where driver load and psoc probe would otherwise execute
at the same time.

Change-Id: I3a617673ea0d4a56e2c08b2ef2f98f8cbdf42205
CRs-Fixed: 2315976
2018-09-17 17:53:37 -07:00
nshrivas
bbc70fa636 Release 5.2.0.97D
Release 5.2.0.97D

Change-Id: Ibbcda4c7ae1b32caf6d3159a30c5c2bf098c25b7
CRs-Fixed: 774533
2018-09-17 14:24:49 -07:00