Commit Graph

719 Commits

Author SHA1 Message Date
Yeshwanth Sriram Guntuka
3199046f44 qcacld-3.0: TDLS sta_id cleanup for hdd_update_dp_vdev_flags
hdd_update_dp_vdev_flags takes sta_id as input and as a
part of clean up of sta_id, replace it by peer mac address.

Change-Id: Id9a8c132546d312f5b048485de48535807e2db4b
CRs-Fixed: 2506497
2019-08-15 20:38:21 -07:00
Liangwei Dong
86ff710471 qcacld-3.0: Handle channel switch in SAP+SAP SCC
SAP1 chan6, SAP2 chan6, LTE channel avoidance event marks
chan6 unsafe, driver will do channel switch for SAP1 and SAP2 to
safe chan 1.
In the middle of channel switch of SAP1, policy_mgr_allow_concurrency
disallows the channel switch request because new SAP1 channel 1
will cause MCC with existing SAP2 (channel 6) and firmware
doesn't support MCC for dual-beacon entities on same band.
This change removes all the SAP entry on the old channel
before do concurrency check for SAP channel change request.

Change-Id: Ic2c828a3fec4cbe2f11d4bedf471211bee442e9e
CRs-Fixed: 2491265
2019-08-14 14:30:07 -07:00
gaurank kathpalia
ccfca4a11e qcacld-3.0: Update HE capabilities in wiphy structure
Update the mac, phy, mcs, nss caps of bands
2.4ghz, and 5ghz for HE capabilities in the
wiphy structure to inform userspace about
the driver capability.

Change-Id: I9fb1233e5396bf3ea411c057af9cbcd5b358271c
CRs-Fixed: 2486266
2019-08-13 07:33:10 -07:00
Pragaspathi Thilagaraj
ba42a982b3 qcacld-3.0: Check SAE & OWE target capability to enable RSO
Currently the host driver blocks roam scan offload command to
the target if the connected akm is OWE or SAE.

Add changes to read the WMI_SERVICE_WPA3_SAE_ROAM_SUPPORT and
WMI_SERVICE_WPA3_OWE_ROAM_SUPPORT service capability advertised
by the target and set it to the mlme fw_akm_bitmap. Read this
bitmap in csr_roam_offload_scan() to allow RSO command.

Also the connected akm is sent to the target via the
WMI_AP_PROFILE command. Translate the CSR akm type for OWE and
SAE akm also.

Change-Id: I68527722ab099e0c8e1681ed64ea416b9a6e9936
CRs-Fixed: 2491021
2019-08-13 04:17:19 -07:00
Yeshwanth Sriram Guntuka
4fb838c4e9 qcacld-3.0: TDLS sta_id cleanup for hdd_roam_deregister_tdlssta
hdd_roam_deregister_tdlssta takes sta_id as input and as a
part of clean up of sta_id, replace it by peer mac address.

Change-Id: Ie0d8e16606bd72d77cc5f152cf5bfe530bd3856b
CRs-Fixed: 2503949
2019-08-13 04:17:14 -07:00
Rajeev Kumar
50b60da282 qcacld-3.0: Enable HW filters in runtime pm mode
Enable hw filter in runtime pm mode such that target
CPU wake ups can be avoided in order to achieve max
power savings.

Change-Id: I97aa26b063e70db5e3023faf6aa40cc53bfac3af
CRs-Fixed: 2502744
2019-08-12 12:24:05 -07:00
Kiran Kumar Lokere
4bb5c6e8bd qcacld-3.0: Update the max AMSDU limit to 15
Increase the max number of MSDU in AMSDU limit to 15 and set the
default value to 0 to config the FW in auto mode selection in which
FW picks the maximum number of MSDUs in AMSDU based on connection mode.

Change-Id: I6c1f1292a31fc9ea857e60e7a81d10b6def5cbc1
CRs-Fixed: 2502544
2019-08-09 18:20:12 -07:00
Yue Ma
ce4879b6e3 qcacld-3.0: Config WOW_NLO_SCAN_COMPLETE_EVENT by default
WOW_NLO_SCAN_COMPLETE_EVENT should be always a wakeable event so
there is no need config it again during runtime PM suspend. Same
for WOW_NLO_DETECTED_EVENT which is already configed by default.
Hence it is safe to skip config dynamic wake events for runtime
PM.

Change-Id: Ie99f9f3dbd5e696601c79b826dbc949c0b439dc1
CRs-fixed: 2502738
2019-08-09 16:32:58 -07:00
Alan Chen
68552e39e2 qcacld-3.0: Change the max wow config in FW to 5
FW offload has no wow-wakeup-filter for GC vdev because the number of
filters is limited to two but Host tries to add filter from VDEV-0 to
VDEV-2. To address this, change the max wow config in FW to five.

Change-Id: Ie44403ef127cf0160f39aa001deddee2205b4696
CRs-Fixed: 2505367
2019-08-09 12:37:41 -07:00
Rakshith Suresh Patkar
96703f64d6 qcacld-3.0: Cleanup sta_id from IPA [PEER_ID_PHASE1]
Local sta_id or peer_id is being cleaned up across DP, HDD
and PS/WMA. So, any references to local peer_id/sta_id will
be replaced by peer mac address and all interactions
between the layers will be based on peer mac address.

Change-Id: I78230bf1e1ec090e83245bff04953fa2e03b91cd
CRs-Fixed: 2504013
2019-08-09 07:37:21 -07:00
Li Feng
dcf4f9206a qcacld-3.0: Fix OOB in policy_mgr_is_chan_ok_for_dnbs
Fix out of bound array access for operating_channel[] and
vdev_id[] in policy_mgr_is_chan_ok_for_dnbs.

Change-Id: I21f1d20ebce7c775abd75524fc388160a1154a36
CRs-Fixed: 2504888
2019-08-08 22:36:22 -07:00
Sourav Mohapatra
b273c0fa3a qcacld-3.0: Reject down the tree transitions instead of waiting
The driver currently waits for driver transitions (loading/unloading)
to complete before allowing a psoc or vdev level transition/operation.
This can lead to race conditions if the driver acquires rtnl lock as a part
of the operation and simultaneously a driver transition is invoked.

One such scenario occurs if delete virtual interface is invoked in parallel
to rmmod. The timing of the calls can be such that the delete interface is
waiting on DSC queue to complete after rmmod while the rmmod is waiting on
the rtnl lock to be freed by the delete interface resulting in a scenario
where the threads are waiting on the other to complete.

* Thread B - Invokes rmmod and context switch happens before rtnl lock is
             taken

* Thread A - Takes rtnl lock and invokes iw dev wlan0 del
	   - Context switch after entering wlan_hdd_del_virtual_intf
	     before osif_vdev_sync_trans_start_wait

* Thread B - Waits for rtnl lock to be released by Thread A

* Thread A - Waits for driver transition to be completed by Thread B

To avoid this possible scenario, modify the infrastructure such that any
down the tree transitions/operations are rejected if a driver transition
is taking place instead of waiting. Also, modify the corresponding tests
in the DSC unit test framework to correctly verify the changes made.

Change-Id: I61715c8fc2df33fd2deb46389da0375e4df5080c
CRs-Fixed: 2475386
2019-08-08 08:40:17 -07:00
Will Huang
371667890f qcacld-3.0: Update PCL table for AP+AP+GC case
Updated PCL table to support 3-port concurrent scenarios
AP+AP+P2P client. Index PM_SAP_SAP_DBS_2x2 need also update.

Change-Id: I6a073756d0087f6b83fb2477fc47ad938a7e5f0f
CRs-Fixed: 2493941
2019-08-07 20:21:24 -07:00
gaurank kathpalia
7665a50dab qcacld-3.0: Extend force 1x1 ini
Currently the driver checks whether the device
supports antenna sharing, and if the AP is added
in the OUI framework, then the driver modifies the
nss value to 1 to avoid sending SMPS to the peer AP.
Now suppose the device does not support Antenna sharing,
but supports DBS and is helium HW, then going to DBS HW
mode would result in peer sending a SMPS frame to the peer
as the helium HW only has two antennas, and one is needed
by each MAC now.

Fix is to add a third param in force 1x1 ini which would
decide the driver should consider the antenna sharing as
mandatory or not.

Change-Id: I3ae00fcbd642c7780952d66ccbf1208335fcb077
CRs-Fixed: 2496831
2019-08-07 08:41:16 -07:00
Yu Ouyang
517a2200de qcacld-3.0: Fix memory leak issue
Object 'tx_conf_event' was dereferenced after being freed by calling
'qdf_mem_free(tx_conf_event)' function. Object 'tx_conf_event->nbuf'
can't be freed.

Free 'tx_conf_event->buf' before 'tx_conf_event' free.

Change-Id: Id5a8f17db4d58395837db9878c6c7d87e9fe40c4
CRs-Fixed: 2503761
2019-08-07 01:31:07 -07:00
Sourav Mohapatra
f4d4d50656 qcacld-3.0: Add zero check before division
In function pmo_core_calculate_listen_interval the max_mod_dtim is
obtained by division of sta ditm with the max ditm. The max ditm can be
zero and can cause divide by zero assert.

Add a zero check before division.

Change-Id: Ie48c8b1086efa4f36e55e83b44cc9cc528ed908d
CRs-Fixed: 2475568
2019-08-06 04:08:46 -07:00
Sourav Mohapatra
fd836a36bd qcacld-3.0: Remove QDF_BUG on vdev_id inside pmo_psoc_get_vdev
Currently, there is an assert condition inside function pmo_psoc_get_vdev
wherein if the vdev_id exceeds the maximum allowed value, a QDF_BUG is
triggered. This check is not necessary as a simple error check takes
care of the same situation.

Remove the assert condition from pmo_psoc_get_vdev

Change-Id: Icd4c892eca893de0f09c24e74407aba5e243f7bd
CRs-Fixed: 2497743
2019-08-06 01:25:39 -07:00
Abhishek Ambure
cbef14404b qcacld-3.0: Refactor vdev delete code
Refactor vdev delete code for target_if conversion. Remove legacy
vdev delete code.

Change-Id: Ia95faa3a8eb561e19d439046a25bd7e452b98fb2
CRs-Fixed: 2471947
2019-08-05 16:45:48 -07:00
Abhishek Ambure
7470976006 qcacld-3.0: Refactor vdev create code
Refactor vdev create code to target_if common code. Remove legacy
code for vdev create.

Change-Id: I57caf0c5fa2da7b6ba640a9d2edb72363959c585
CRs-Fixed: 2460786
2019-08-05 10:55:23 -07:00
Abhishek Singh
8586573201 qcacld-3.0: Handle bss peer add failure in vdev state machine
In case bss peer add failure vdev state machine is in
substate  WLAN_VDEV_SS_START_START_PROGRESS and thus
WLAN_VDEV_SM_EV_CONNECTION_FAIL will not be handled and thus vdev
SM will not move to init state and pe session is not deleted.

This lead to vdev ref leak for the ref taken by pe create session.

Fix this by sending WLAN_VDEV_SM_EV_START_REQ_FAIL event when
vdev SM is in WLAN_VDEV_SS_START_START_PROGRESS state and continue
cleanup.

Change-Id: I4c559333a6bd018e3382f9781883acf314434cf2
CRs-Fixed: 2502817
2019-08-05 09:31:37 -07:00
nakul kachhwaha
987f6b13dc qcacld-3.0: Properly configuring OpClass into TDLS Peer
OpClass in TDLS peer is configured using gTDLSPrefOffChanNum
and gTDLSPrefOffChanBandwidth INIs. Values of OffChanBandwidth
INI can't distinguish 40+ and 40- BW which is required to fetch
the correct Opclass for a given channel from regdb. Adding
function which will convert OffChanBandwidth value into required
value before fetching opclass. This is required for TDLS 5.9 Cert
Test Case.

Change-Id: Iba27034335309472d16a6aeef819995504674fc5
CRs-Fixed: 2457369
2019-08-05 07:49:51 -07:00
guangde
963710d6e8 qcacld-3.0: enable legacy coex feature
Because newest firmware codes already been changed, the previous
coex configure command are invalid. Firmware need host driver
to enable WMI_SERVICE_THREE_WAY_COEX_CONFIG_LEGACY service during
wlan init. Add a new parameter "gThreeWayCoexConfigLegacyEnable" to
initial config file. If this parameter value is zero,set coex
priorities command will return error.

Change-Id: Ief1617e2ba5363e276c55135198613a0e54b71d5
CRs-Fixed: 2482734
2019-08-04 06:23:09 -07:00
Abhinav Kumar
b96b746a50 qcacld-3.0: Don't enable WOW_BEACON_EVENT by default for STA
While processing QCA_WLAN_VENDOR_BEACON_REPORTING_OP_START vendor
cmd, the expectation is FW should not wakeup host if host is in
wow mode. Wakeup of HOST happens purely based on Nth beacon
WMI event WMI_VDEV_PARAM_NTH_BEACON_TO_HOST config to firmware
where host gives Nth value and MSB bit to indicate whether
to wake up host or not. MSB bit is 1 means fw should not wakeup
host(By default MSB bit is 0).

WOW_BEACON_EVENT registration on host is required only in case
if HOST sends WMI_RMV_BCN_FILTER_CMDID in order to allow fw to send
connected AP beacons. Currently, HOST sends NTH BEACON CMD to fw with
MSB bit of Nth value equal to 1 in order to allow send connected AP
beacons to HOST only if HOST is not in wow mode.

Fix is to remove default WOW_BEACON_EVENT registration for STA on host.

Change-Id: I4717925fbcb38efb14f3336706f93d90f7a3888e
CRs-Fixed: 2496594
2019-08-01 16:24:04 -07:00
Srinivas Dasari
2239790ebb qcacld-3.0: Append vendor specific IEs received to assoc request
wpa_supplicant/framework sends different vendor specific IEs in
connect request. Currently driver is parsing the IEs and appending
specific IEs to the assoc request frame. But all vendor specific
IEs are supposed to be sent in the assoc request. Extract all vendor
specific IEs and append at the end of the frame.
MBO IEs are expected to be present at the end of the frame.
So append rest of the vendor IEs just before MBO IE.

Change-Id: I3d49c72a31d142ef3b14b439af2ae4cd8be059ea
CRs-Fixed: 2498976
2019-07-31 17:09:24 -07:00
Manikandan Mohan
4e66c9a73a qcacld-3.0: Move NAN cfg params init to PSOC open
NAN config param initialization from CFG component is done
during PSOC object created notification. But as per component
design it must be done at psoc open to avoid CFG component
not initialized case. Thus update nan component to reorganize
NAN cfg params init.

Change-Id: I9636b527b796202e55a57c28d604795a705de026
CRs-fixed: 2489286
2019-07-29 20:10:58 -07:00
hqu
7f10f558c4 qcacld-3.0: Define ext_vdev_ptr and ext_pdev_ptr with specific type
Define ext_vdev_ptr and ext_pdev_ptr with specific type, remove void
pointer usage for part of mlme code.

Change-Id: Ie71d59386224e4671bdae071aa7425a998d5e242
CRs-Fixed: 2488192
2019-07-27 18:21:17 -07:00
Jianmin Zhu
1ccdbccccc qcacld-3.0: Enable special 4 ports dual AGO plus dual STA
Enable following special 4 ports concurrency for HST:

(AGO+STA)(2.4G MAC SCC)+(AGO+STA)(5G MAC SCC).

Change-Id: I3bef824c5296a1c7b2f644abc24009463d8b2864
CRs-Fixed: 2496121
2019-07-27 09:53:17 -07:00
Jia Ding
70deca7f3b qcacld-3.0: Check IPA RX bridge device terminated
On MDM platform, low throughput is observed for SAP RX
terminated scenario. In case of SAP, SAP device itself
is added as a slave to the bridge device, which acts as
a router device.

For SAP RX terminated scenario, destination MAC address
of RX packets is the bridge device. However for WDI 3.0,
WLAN IPA has to check if destination MAC is a valid peer
for SAP intra-bss forwarding.

Currently in intra-bss forwarding, dp_find_peer_by_addr()
is used to look up if destination MAC address is a valid
peer. Issue is that in dp_find_peer_by_addr() peer
spinlock is grabbed via qdf_spin_lock_bh. IPA RX is in
process context and qdf_spin_lock_bh turns to spin_lock_bh,
which hurts netif_rx badly.

Fix is to check if RX packet is bridge device terminated
in IPA component module so as to bypass intra-bss
forwarding logic and to make the RX path BH lockless.

Note that if there's a BH lockless API to check if
destination MAC address is a valid peer, this check will
not be necessary.

Change-Id: I00fca3e75ae55ae1d2f591fddd00e49dfb634c5c
CRs-Fixed: 2494442
2019-07-26 20:09:59 -07:00
hqu
ff302a9f4a qcacld-3.0: Define void * data members of cp_stats with specific type
Define void * data members of cp_stats with specific type, remove void
pointer usage for part of cp stats code.

Change-Id: Iace37c0a546909b865d5185830a2e02b5b39b7d8
CRs-Fixed: 2492544
2019-07-26 18:21:46 -07:00
Chaoli Zhou
b11e18a0a4 qcacld-3.0: Export max IPA interface numbers
As for Rome, currently it usually just only support two
IPA interfaces offload, if use the default value 3, which
will cause the IPA pipe setup failure issue. So export
the max IPA interface numbers, and it's better to set
the appropriate value from build file according to
different requirement for different chipset and platform.
Meanwhile, it support SMMU on the sa415 platform, so
enable SMMU for it.

Change-Id: I2de31bcb4d38f5e7964d2cbdc2fc6f143eef510d
CRs-Fixed: 2480627
2019-07-25 02:40:48 -07:00
gaurank kathpalia
e8ca6c6759 qcacld-3.0: Send BLM reject list to FW after connect update
Send the current reject ap list to FW so that the FW too
updates the same in there database to enable roaming if
any AP is removed from the list.

Change-Id: I9c0176a2c4ae970e454f03b577f6fc98af5b62de
CRs-Fixed: 2489448
2019-07-22 06:33:07 -07:00
Yue Ma
954840d5fe qcacld-3.0: Avoid DRV suspend as well if link cannot be suspended
There is no need to do DRV suspend if gPreventLinkDown ini flag is
set. PCIe link will be always up.

Change-Id: Ie6344514486634e1b6ae3b4a4e416853f8d46e5a
CRs-Fixed: 2492053
2019-07-19 07:31:09 -07:00
Sourav Mohapatra
4caef356e5 qcacld-3.0: Rectify max value of gEnableDynamicDTIM
As a part of the change I3cd617e52e86e2a890e35edb33b37ba3df8f4f6e
the max value of the ini gEnableDynamicDTIM was changed from 9 to 5.
This change causes regression where DUT is not entering in to DTIM9.

Restore back the max value of the ini to 9.

Change-Id: Ifea0c5199951a0dffc5cd116ec4c065f1563fe94
CRs-Fixed: 2489494
2019-07-19 07:31:04 -07:00
Alan Chen
a75cc71898 qcacld-3.0: Remove dsc psoc op enter/exit logging due to excessive logging
Enter and exit prints are called everytime, causing excessive logging.
To reduce the amount of logs printed, remove the enter and exit print
statements from dsc _dsc_psoc_op_start and _dsc_psoc_op_stop.

Change-Id: Iec53285d0c39243edd6577c57c9d0b15769e1230
CRs-Fixed: 2491091
2019-07-19 07:30:59 -07:00
Jianmin Zhu
cdb16bdb4f qcacld-3.0: Enable special 4 ports dual SAP+dual STA
Enable following special 4 ports concurrency for HST:

(SAP+STA) (2.4G MAC SCC)+(SAP+STA) (5G MAC SCC).

1. Update pcl table for fourth connection
2. Increase max connection number to 4
3. Add concurrency allow check for 4 ports

Change-Id: Ib87bcfd845208f0ed8821c7e18b2f30833db22b7
CRs-Fixed: 2457713
2019-07-18 12:10:24 -07:00
Krishna Reddy
3c629905cc qcacld-3.0: Prevent 2.4G connection when SAP is on DFS channel
On single MAC devices, when a SAP or P2P-GO is already operating
on a DFS channel, MCC mode is not allowed. It is  currently
possible, even with a SAP on DFS channel, to connect to a 2.4G
AP using the command: iw interface connect SSID [AP freq]
Add additional checks in policy manager to prevent this
MCC situation.

Change-Id: I9adf063fbc1cb4c2d3f22f6b4d1bb00beb079007
CRs-Fixed: 2485436
2019-07-17 09:45:21 -07:00
Manikandan Mohan
8776db5b50 qcacld-3.0: Fix nan disable issue on NAN+SAP concurrency
Fix the issue of NAN getting disabled in NAN+SAP concurrency
when SAP and NAN operate in different bands and host processes
LTE coex event for unsafe channel update.

Change-Id: I4f2d63a5283bd75712aa3bd9a3b3f278a28b0951
CRs-fixed: 2486595
2019-07-16 17:15:00 -07:00
Wu Gao
6c347a5369 qcacld-3.0: Support to tx more mgmt frames
It just support to tx probe request/response and action frames, and
reject to tx other frames. So add this change to support other mgmt
frames.

Change-Id: I6d99f1c1b0187105fc8eec1f170483980819d0ae
CRs-Fixed: 2485734
2019-07-16 15:53:32 -07:00
Yeshwanth Sriram Guntuka
23fd486023 qcacld-3.0: Update default value of wlm_latency_flags_ultralow
Disable scan by default with ultra low level setting.

Change-Id: I9a4a03c981a111dc981b83f7c518d44776d34142
CRs-Fixed: 2478133
2019-07-13 13:40:47 -07:00
Min Liu
d5db67924a qcacld-3.0: Fix wait timeout in policy mgr timer
In policy_mgr_pdev_set_hw_mode_cb, when next_action is PM_OP, it should
also call policy_mgr_set_opportunistic_update, otherwise it would lead to
wait timeout in policy_mgr_check_and_stop_opportunistic_timer.

Change-Id: I74edb72bedfc1a7ec75aa0ded5b855020599cb94
CRs-Fixed: 2481702
2019-07-11 02:10:28 -07:00
CNSS_WLAN Service
2f06cbbe26 Merge "qcacld-3.0: Set neighbor scan channel max time to 40 msec as default" into wlan-cld3.driver.lnx.2.0 2019-07-10 20:48:38 -07:00
Bala Venkatesh
8b9bbde04b qcacld-3.0: Add SAP csa reason
Currently, there is no logging for channel switch reason.
Add csa_reason to know the reason for the channel switch.

Change-Id: Iec02d7fa2b1ec51acb97005da220db7de705d7e0
CRs-Fixed: 2483206
2019-07-10 10:26:38 -07:00
Abhishek Singh
2547512f9e qcacld-3.0: Avoid wait for hw mode change during SAP CSA
The SAP channel change can be called in scheduler thread and thus
waiting for hw mode change in scheduler thread will always lead to
timeout and thus channel switch failure.

Fix is to avoid wait and continue channel switch after hw mode
change is completed.

Change-Id: I951fab6c95ff2a84d6a619859295b830685fac4e
CRs-Fixed: 2484147
2019-07-09 18:50:41 -07:00
gaurank kathpalia
b4fd0fea51 qcacld-3.0: Remove driver internal blacklist ap info
Currently the BLM removes the entry if the difference
between connect and disconnect is greater than the
blm bad bssid reset time.
This could lead to removal of those APs also which
are in rssi reject list too.

Fix is to remove the APs if not present in other list
other than avoid, black (driver).

Change-Id: Iae0edbd093546921e36ce4ed511450617e675adf
CRs-Fixed: 2485750
2019-07-09 13:40:44 -07:00
Abhinav Kumar
9d47304b4f qcacld-3.0: Set neighbor scan channel max time to 40 msec as default
Currently, Driver has below configuration:
1. The default value of Neighbor scan channel max time = 30 msec
2. Probe deferral time = 15 msec and
3. The gap between each Probe Request (Probe repeat time) = 20 msec

As per above roam scan params, after 15 msec of deferral time STA
sends the first probe irrespective of OCE or non-OCE environment.
So after the first probe, STA never sends the second probe because
15 msec + 20 msec = 35 msec which is beyond dwell time( 30 msec).

Because of lower dwell time, many a time STA is not getting enough
time to send the second probe request during a roam scan on the currently
associated channel. In case when STA sends only one probe req,
there is a lesser chance to receive Probe Response in a semi congested
or congested environment. This results in not finding a candidate
during a roaming scan.

STA should have enough time to send 2 Probe Requests under any condition
( clean or noisy) irrespective of the OCE/non-OCE environment.

Fix is to increase the default value of dwell time
"gNeighborScanChannelMaxTime" to 40 msec for STA.

Change-Id: I1bd52f5efe448ccb4ed4585e98aaf519379dd661
CRs-Fixed: 2467703
2019-07-09 13:27:29 +05:30
sheenam monga
01f1f3e3d6 qcacld-3.0: Remove macro PMO_KEK_LEN_LEGACY
Currently,  macro is used instead of destination size
to copy KEK pmo_gtk_req to kck and kek of
WMI_GTK_OFFLOAD_CMD_fixed_param.

Fix is to Copy KEK bytes from pmo_gtk_req same as the size of
cmd->kek i.e destination address to avoid macro change if size
of cmd->kck changes in future.

Change-Id: I06705f25682d950c35a3fb9bd0413ddf46e04ab4
CRs-Fixed: 2477212
2019-07-08 16:45:26 -07:00
Sravan Kumar Kairam
02a761e986 qcacld-3.0: Fix possible null pointer dereference
Fix possible null pointer deference in wlan_ipa_uc_ol_init when
accessing passed osdev argument.

Change-Id: I98b2679b7e73041315c4ccc2858eff79fbbcf026
CRs-Fixed: 2484996
2019-07-08 12:09:52 -07:00
Srinivas Dasari
d4e8725828 qcacld-3.0: Send disconnect IEs received in deauth/disassoc to kernel
AP may send IEs in deauth/disassoc frames as part of disconnection.
Extract the same and forward to kernel through
cfg80211_disconnected().

Change-Id: I4ef339dcd1ecff64d6bed1de35621ecce5d8030a
CRs-Fixed: 2481912
2019-07-05 17:28:02 -07:00
Srinivas Dasari
e2ee09491a qcacld-3.0: Add disconnect_ies in deauth/disassoc frame
disconnect_ies sent from userspace are cached in vdev mgr object.
Send the same in deauth/disassoc frames initiated from the driver.
Free the IEs once the frame is sent out successfully.

Change-Id: Ib223a9da7f5795bc10d717efe23c6106391070bb
CRs-Fixed: 2481909
2019-07-05 17:27:57 -07:00
Srinivas Dasari
37e3731d4a qcacld-3.0: Get disconnect IEs and cache in vdev mgr object
Application sends disconnect IEs to driver through vendor command
SET_WIFI_CONFIGURATION by embeding in the attribute
QCA_WLAN_VENDOR_ATTR_DISCONNECT_IES. Extract the same and validate
to make sure it's not more than maximum IE length that can be
accomodated in deauth/disassoc frame. Cache the extracted IEs
in mlme vdev object.

Change-Id: I6c95aa1d4d8ef7d8ed3ad5be8832ef1f45c26a2f
CRs-Fixed: 2481908
2019-07-05 17:27:52 -07:00