Commit Graph

1714 Commits

Author SHA1 Message Date
Srinivas Girigowda
167ea82cab qcacld-3.0: Replace WME_AC_* macros with QCA_WLAN_AC_*
Replace WME_AC_* macros with QCA_WLAN_AC_*.

Change-Id: I359a8afa48ae6697df41d8f832195c918d57e0ae
CRs-Fixed: 2421732
2019-03-24 17:55:00 -07:00
Srinivas Girigowda
b8fdc643d2 qcacld-3.0: Consolidate multiple MAX_SSID_LEN to WLAN_SSID_MAX_LEN
Consolidate multiple MAX_SSID_LEN to WLAN_SSID_MAX_LEN.

Change-Id: I1764b891501c4e3371cf478c324ebcdcab319f5f
CRs-Fixed: 2419367
2019-03-20 22:09:45 -07:00
gaurank kathpalia
fa7ad0a453 qcacld-3.0: Update the ini params according to the BDF setting
Currently the driver just start the vdev according to the ini
params, without consdering the tx, rx chainmask supported by the
FW per band, per mac, which can lead to connection in 2x2, even
though FW is not capable of 2 antennas on a particular band.

Fix is to intersect both the tx, rx chainmask for both bands,
and change the ini to minimum of the nss supported by ini, and
the BDF setting of the chains.

Change-Id: Ib0e9bac19959bbcf9bade7dbd78674be4099a23d
CRs-Fixed: 2414103
2019-03-20 22:09:28 -07:00
Sandeep Puligilla
d8546bb3eb qcacld-3.0: Send MBSSID BSS information to firmware
Send MBSSID BSS information like profile number
and max profile count to firmware as part of VDEV
UP command.

Change-Id: I612f0be9c52fd61b25d1c884940f28ce9fe0872e
CRs-Fixed: 2399999
2019-03-20 22:09:23 -07:00
Abhinav Kumar
4356594c3e qcacld-3.0: Add new config for BTM offload
Currently, whenever roaming is triggered after a successful roam scan
firmware sends a BTM query to current connected AP when it is 11v
capable. Driver completes roaming with candidates received as part of
BTM request from AP. STA respond to AP with BTM response after
successful initiation of roaming.

Now the requirement is FW could send "BTM query with a preferred
candidate list" after a successful roam scan for some roam scan reasons
like PER, LOW_RSSI, HIGH_RSSI, MAWC, DENSE etc. Preferred candidate list
is obtained as part of roam scan based on firmware bss scoring logic.

Add new ini "btm_query_bitmask" to configure the bitmask for roam scan
reasons which is sent to firmware as part of RSO start via wmi btm config
cmd. Fw sends "BTM query with preferred candidate list" only for those
roam scans which are enabled through this bitmask.
New INI: btm_query_bitmask
Min: 0
Max: 0xFFFFFFFF
Default: 0x8
Bitmask : 0x8 (LOW_RSSI) refer enum WMI_ROAM_TRIGGER_REASON_ID.

Change-Id: I24b538745f2ac88d4e5c990573234e0f8a881b1f
CRs-Fixed: 2408111
2019-03-20 10:10:17 -07:00
Jeff Johnson
fb6d0cade0 qcacld-3.0: wma: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within wma replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: I2b4125bc4ec229fbe466e6ce0ca4c3191f6cae59
CRs-Fixed: 2418387
2019-03-20 08:25:47 -07:00
Arif Hussain
1f58cbbf36 qcacld-3.0: Add support to process twt qca vendor command
Add support to process twt qca vendor command.

Change-Id: I2691ce7d1cc50798d99104389fe2213791ebdf78
CRs-Fixed: 2328891
2019-03-20 06:34:02 -07:00
Jingxiang Ge
bd540b1cd0 qcacld-3.0: Get wlan op mode from vdev for pktlog
To avoid using qcacld code in cmn, when getting
wlan op mode, using op mode info from vdev rather
adapter.

Change-Id: If8432aae12800884e3a4567d99319afcdfa9d1f5
CRs-Fixed: 2412315
2019-03-19 21:16:58 -07:00
Abhishek Singh
72a04bf418 qcacld-3.0: Remove unused lim_is_system_in_scan_state
lim_is_system_in_scan_state was used when scan was handled by host
and with scan offloaded the API always return false and thus is
of no use. Also the SCAN state used by it are never set.

Thus remove the unused scan state and lim_is_system_in_scan_state.

Change-Id: Ie9b78340035d85805cc9416f557b683a0a3be232
CRs-Fixed: 2417851
2019-03-19 16:51:03 -07:00
Abhishek Singh
24828ad756 qcacld-3.0: Move STA vdev to UP state after add sta is success
STA vdev is moved to UP state in wma_add_sta_req_sta_mode but
if deauth is received from AP during that time the connection
is set to failure in lim_process_sta_mlm_add_sta_rsp and driver
send EV_CONNECTION_FAIL in UP state which is not handled.

To fix this move the STA to UP state only if
lim_handle_sme_join_result receive the add sta rsp success.

Change-Id: Icb0685e52881563e17785c98e9e225796a864be1
CRs-Fixed: 2415194
2019-03-19 02:24:32 -07:00
Srinivas Girigowda
2d56c36a61 qcacld-3.0: Use converged qcacmn macros (part 2)
Replace the existing qcacld-3.0 macros with qcacmn converged
macros.

Change-Id: I8c7e07587111bc3b783138623249da692168d9d3
CRs-Fixed: 2416429
2019-03-19 02:24:27 -07:00
Srinivas Girigowda
cf161406dd qcacld-3.0: Use converged qcacmn macros (part 1)
Replace the existing qcacld-3.0 macros with qcacmn converged
macros.

Change-Id: Ie05f396fcd2e01cf86256f25dbc171bbdf763da9
CRs-Fixed: 2416429
2019-03-19 02:24:23 -07:00
Jeff Johnson
36583f0647 qcacld-3.0: Converge on struct plm_req_params
The driver currently defines two different data structures to hold
PLM Request parameters:
- legacy struct plm_req
- unified WMI struct plm_req_params

To align with the converged software architecture remove the legacy
definition and exclusively use the unified WMI definition.

Change-Id: I7675686aba9590a4507a8f9ebffcbf181ee00a21
CRs-Fixed: 2411817
2019-03-17 12:54:10 -07:00
wadesong
e1fc997982 qcacld-3.0: Code refine for SSDP and DTIM config
1) 'ssdp' in t_wma_handle structure is not used anymore,
   remove this redundant field.
2) ucfg_pmo_set_sta_mod_dtim and ucfg_pmo_get_sta_mod_dtim
   should have been accessing 'sta_mod_dtim' instead of
   'sta_dynamic_dtim' in struct pmo_psoc_cfg.

Change-Id: Iedd7bed1c9f637a819f97b6d8c687b784739dd62
CRs-Fixed: 2415087
2019-03-13 23:21:20 -07:00
Srinivas Girigowda
69e60dbbde qcacld-3.0: Remove obsolete macros/enums from the code
Remove obsolete macros/enums from the code.

Change-Id: I398f4d65bcfc996bbaf12076b55b7e6cf9e182be
CRs-Fixed: 2414803
2019-03-13 19:41:17 -07:00
Jeff Johnson
223169db3f qcacld-3.0: Remove encPolicy from tDphHashNode
The encPolicy member of tDphHashNode is initialized but is otherwise
never modified or read. Since it is obsolete, remove it, along with
the macros that define the values that it formerly used.

Change-Id: If6698217b6c7d10840f0776c77678861be026c2b
CRs-Fixed: 2414653
2019-03-13 06:49:02 -07:00
Yeshwanth Sriram Guntuka
fa9f3798cd qcacld-3.0: Add Diag Log support for cold boot cal event
Add Diag log support for logging cold boot calibration
data sent by firmware via cold boot cal wmi event.

Change-Id: I932fd5f87667498b77ee13ca5b3ce08d6001cdf0
CRs-Fixed: 2413450
2019-03-12 18:57:30 -07:00
Nachiket Kukade
9ea5f13a28 qcacld-3.0: Add support for disabling an NDI concurrency
NAN Datapath implementation allows more than one concurrent
NDI's to be active at the same time. But this isn't supported
if there is a higher priority incoming connection such as
STA. Add modules that check for unsupported NDI concurrency
and initiates termination of all NDP's on it.

Add modules that check and disable unsupported NDI concurrency.

Change-Id: I6ad9afbfc41beda1d1c8f31bf58a8ea70027f5ca
CRs-Fixed: 2407215
2019-03-12 13:58:08 -07:00
Ashish Kumar Dhanotiya
3651083ee4 qcacld-3.0: Clear PMK cache from driver
Currently PMK cache is not getting cleared inside driver,
which can lead to information disclosure.
To address this issue, clear PMK information from all the
possible places in the driver.

Change-Id: I83758920f414c5287292ebdbebdcc9bf7238103c
CRs-fixed: 2403441
2019-03-11 21:55:05 -07:00
Ashish Kumar Dhanotiya
0213793334 qcacld-3.0: Clear PTK, GTK and IGTK keys on sta disconnection
Currently PTK, GTK and IGTK keys are not getting cleared
on wifi link disconnection from wifi driver memory, which
can lead to information disclosure. Clear PTK, GTK and IGTK
keys from wifi driver memory to avoid any potential information
disclore after wifi is turned off.

Change-Id: I309cd7af8d396167e9ec3ef9c6c443e8c08903d8
CRs-fixed: 2396603
2019-03-11 19:22:55 -07:00
Jingxiang Ge
45a2433bca qcacld-3.0: Fix camelCase for sessionId in t_packetmeta
Replace sessionId with session_id in t_packetmeta.

Change-Id: I041d25a5a5f61dd65fea25d41fa11d6456e4e88f
CRs-Fixed: 2413150
2019-03-11 07:46:54 -07:00
Jeff Johnson
c9770ee2b7 qcacld-3.0: Replace typedef tSirWifiInterfaceInfo
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 tSirWifiInterfaceInfo typedef
does not meet any of those criteria, so replace it (and the "tp"
variant) with a properly named struct.

Change-Id: Id3f2f5e9dc07faccd582c16919103ca2da2b2b92
CRs-Fixed: 2412967
2019-03-10 16:37:51 -07:00
Abhinav Kumar
9cfc2f5535 qcacld-3.0: Pass proper arguments while sending EV_ROAM to VDEV SM
Currently, while handling roam sync event
wma_roam_synch_event_handler invokes wlan_vdev_mlme_sm_deliver_evt
with extracted synch event as an argument. Driver assumes extracted
synch event as event buffer and try to get sync event again. which
results assert in host while roaming.

wma_roam_synch_event_handler should pass roam sync event and its
lenght as arguments which is coming through WMI_ROAM_SYNCH_EVENTID
to wlan_vdev_mlme_sm_deliver_evt to send EV_ROAM.

Fix is to pass proper argument to wlan_vdev_mlme_sm_deliver_evt
in order to resolve this assert.

Change-Id: I37f03a19e45189e61a5b86f714048816af7f5e5f
CRs-Fixed: 2412552
2019-03-09 04:06:45 -08:00
Srinivas Girigowda
df90ceacd1 qcacld-3.0: Remove obsolete macros from CDS
Remove obsolete macros from CDS.

Change-Id: Ic17ae603f698568ba8ccb6b4e3f332a475e67a7b
CRs-Fixed: 2395980
2019-03-08 18:53:37 -08:00
Sandeep Puligilla
d78870293b qcacld-3.0: Refactor scan cfg items
Refactor following scan CFG items
1. CFG_ENABLE_CONNECTED_SCAN
2. CFG_ENABLE_SNR_MONITORING

Change-Id: I936cc949c2682c5552e639cd2b1635e0dd0235e6
CRs-Fixed: 2405703
2019-03-08 07:39:25 -08:00
Jayachandran Sreekumaran
2613f32128 qcacld-3.0: Set the correct the peer type in p2p go mode
In p2p go mode the peer type in wlan peer common object is always
set to P2P_CLI. This leads to non-cancellation of NoA after connecting
to legacy stations. Correct the peer type for legacy stations.

Change-Id: Ib706f9a80d0ad367e27fd21eca6cf026cba63f57
CRs-Fixed: 2406127
2019-03-08 06:04:23 -08:00
Jeff Johnson
b07230f434 qcacld-3.0: Refine sys_process_mmh_msg()
There are currently a multitude of issues with sys_process_mmh_msg()
so update both the interface and the implementation to align with good
software engineering practices and the Linux Coding Style.

Change-Id: I76e53772dd72426cc4245756457e2a8140937571
CRs-Fixed: 2411714
2019-03-08 04:36:32 -08:00
Jeff Johnson
82ff607daf qcacld-3.0: Remove wma_send_regdomain_info_to_fw() extern
To align with the Linux coding standard as enforced by the checkpatch
script, remove the extern from the wma_send_regdomain_info_to_fw()
prototype. Furthermore, to align with software engineering best
practices, relocate the documentation so that it is the interface that
is documented, not the implementation.

Change-Id: Ie1993d3132517fac993b4c5556fe82c6bfbfe016
CRs-Fixed: 2411713
2019-03-08 02:39:01 -08:00
Jianmin Zhu
cc6b3d0c43 qcacld-3.0: Change log level from err to debug for LFR3 performance KPI
Log of level err will call printk to print on uart, may make
current thread sleep or delay > 10ms, then wma_roam_synch_event
need longer time to handle, LFR3 roam need longer time.

Change-Id: Ibdd58f74fcf5cf3de8e2b06166c375a2ce634cb5
CRs-Fixed: 2406307
2019-03-07 16:06:15 -08:00
Nachiket Kukade
15bd4f725e qcacld-3.0: Define WMA callback to update NDI conn info
Unlike other connection types, vdev start parameters for NDI
do not reflect the correct connection information for the
datapath. Once an NDP is established on NDI this info in WMA
needs to be updated accordingly. Define a WMA callback and
use it after NDP confirm and NDP End to update the connection
info for NDI.

Use WMA callback for updating NDI connection info.

Change-Id: Iefb515a751bd3fb5e10610d191bdadaf3a01f59a
CRs-Fixed: 2407153
2019-03-07 00:20:26 -08:00
Jeff Johnson
5ba1df79d3 qcacld-3.0: Use the refined Link Layer Stats Unified API
Change Ifdc1fada55a559f3b3d0837ec20cceb653c45c40 ("qcacmn: Refine the
Link Layer Stats Unified API") is updating the Link Layer Stats
Unified API, so concurrently update the legacy driver to align with
these changes.

Change-Id: Ifd7c8de2358121dae4752525ff57021a32be85d3
CRs-Fixed: 2409294
2019-03-06 16:56:21 -08:00
Srinivas Girigowda
3a5c66f808 qcacld-3.0: Remove obsolete ARRAY_LENGTH macro
Remove obsolete ARRAY_LENGTH macro.

Change-Id: Ibe8400fa52770ed953a65076300a0d722e7fb175
CRs-Fixed: 2409265
2019-03-06 10:59:41 -08:00
Sandeep Puligilla
3746d5db95 qcacld-3.0: Enable vdev manager support for LFR3.0
Enable vdev manager support for LFR3.0

Change-Id: I5e8a420eadd98786fe43d7d6e60980209f7a42e1
CRs-Fixed: 2405842
2019-03-06 10:59:37 -08:00
Pragaspathi Thilagaraj
1d8e2ab528 qcacld-3.0: Replace typedef bss_description
Host driver code has several instances of struct bss_description
that is type defined to tSirBssDescription, *tpSirBssDescription
This goes against the linux coding style. This change replaces
tpSirBssDescription with struct bss_description *.

Also Linux Coding Style doesn't welcome mixed-case names. So
cleanup some mixed-case variable names as well.

This change should be followed by changes to replace
typedef tSirBssDescription also ultimately.

Change-Id: Ic6fa2d5c7db0d0c1fe4be1096d416295dcb83779
CRs-Fixed: 2409129
2019-03-06 10:59:28 -08:00
Varun Reddy Yeturu
ff4c998846 qcacld-3.0: Fix WEP functionality in converged set key
Fix WEP security mode issues in converged set key

Change-Id: I8b60e19af1cc1ede9a34cb244de4c8859094ddec
CRs-Fixed: 2400861
2019-03-06 06:51:04 -08:00
Rachit Kankane
87b16541a3 qcacld-3.0: Update ol_txrx_update_last_real_peer
Update function ol_txrx_update_last_real_peer to pass vdev instead of
peer structure.

Change-Id: I869756a45efb1e3f37d280596ae509960d9a3ceb
CRs-Fixed: 2397246
2019-03-05 05:36:24 -08:00
Jingxiang Ge
e468bbdada qcacld-3.0: Fix use after free for txrx_vdev_handle
In wma_vdev_attach, if peer failed to create, it will detach
vdev, but without reset txrx_vdev_handle to NULL, so vdev
is still used in cdp_data_tx_cb_set.

Reset txrx_vdev_handle to NULL in wma_vdev_attach if create peer
fails.

Change-Id: Ie3963625ed7206eb1737f5820ec58d84f2ca9084
CRs-Fixed: 2407717
2019-03-04 07:30:09 -08:00
Jeff Johnson
c060ac40d5 qcacld-3.0: Use vdev_id in roam_scan_filter_params
Change I16679abc7b3b61e6814fc1b0f13c6bc0e0fb7a39 ("qcacmn: Replace
session_id in roam_scan_filter_params") is renaming the legacy
identifier session_id to vdev_id, so concurrently change the usage in
the legacy project.

Change-Id: Ibeab45d4badbeda6baec6a53ab4ec561dd70ccd9
CRs-Fixed: 2407403
2019-03-02 17:45:32 -08:00
Ajit Pal Singh
a70e315601 qcacld-3.0: Add config option for CFG_TGT_NUM_MSDU_DESC
Add driver config option for CFG_TGT_NUM_MSDU_DESC

Change-Id: I9c738de779d03819e6920e9d3e260ec3d1fbd524
CRs-Fixed: 2390958
2019-03-02 13:31:05 -08:00
Jeff Johnson
4c2837fe92 qcacld-3.0: Fix NULL memcpy in STA keepalive handler
Change I20cf9f54a7ec920a90575ffd73c51708414d46a0 ("qcacld-3.0: Use the
redesigned STA keepalive interface") updated the manner in which STA
keepalive parameters are passed to WMI. Unfortunately that change
introduced three instances of qdf_mem_copy() where the source pointer
may be NULL, so update that logic to test for NULL before performing
the copy. In each case the destination buffer will remain zeroed if
the source pointer is NULL.

Change-Id: I24aaad82bb73dba37297ac17b21f758da16617b4
CRs-Fixed: 2407449
2019-03-01 13:57:13 -08:00
Qun Zhang
ef65562bcd qcacld-3.0: Support firmware state check through cfg80211 vendor cmd
Add the support to allow user space applications through cfg80211
vendor command to check if wlan firmware is alive or not.

Change-Id: I96bb16e01974f7689493577741a36e3832963996
CRs-Fixed: 2399508
2019-03-01 09:23:49 -08:00
Jeff Johnson
f32bf010e3 qcacld-3.0: Use the redesigned STA keepalive interface
Change I2a401fa6934f05555cb3c30088af62cfbc9a3c59 ("qcacmn: Refine the
STA keepalive interface") has updated the unified WMI interface for
the STA keepalive feature, so align with the new design.

Change-Id: I20cf9f54a7ec920a90575ffd73c51708414d46a0
CRs-Fixed: 2404896
2019-02-27 20:54:49 -08:00
Dustin Brown
963101199d qcacld-3.0: Remove OS_* usage
There are a few consumers of the legacy OS_* APIs. Directly use
appropriate QDF APIs instead.

Change-Id: Ibe46172200119c6d293acb301baf796276c5949c
CRs-Fixed: 2403793
2019-02-27 08:11:53 -08:00
Jeff Johnson
3bc8194028 qcacld-3.0: Use vdev_id in plm_req_params
Change I1554febcfb641059a82349aad904c54b62250111 ("qcacmn: Replace
session_id in plm_req_params") is renaming the legacy identifier
session_id to vdev_id, so concurrently change the usage in the legacy
project.

Change-Id: I3c5192d31caa05c8fe7157382680318b6671257f
CRs-Fixed: 2405068
2019-02-27 05:09:36 -08:00
Pragaspathi Thilagaraj
a9ecc6354a qcacld-3.0: Refine pe_roam_synch_callback()
Refine pe_roam_synch_callback() declaration and definition to be
compliant with coding style. Replace lim_print_mac_addr() calls
with %pM format to print the bssid in this function.

Change-Id: I39a91c213d947f542f2a678910d0715098074365
CRs-Fixed: 2404405
2019-02-26 23:33:33 -08:00
Srinivas Girigowda
a987746e2c qcacld-3.0: Replace struct ether_header with qdf_ether_header_t
Replace struct ether_header with qdf_ether_header_t.

Change-Id: I250b9c72828595c738cf3cfdca69ba6de66ef8aa
CRs-Fixed: 2395980
2019-02-26 21:18:23 -08:00
Rakshith Suresh Patkar
5f9efa342a qcacld-3.0: Post PEER_UNMAP_RESPONSE cmd to mc thread in ho fail
Unable to send WMI_PEER_UNMAP_RESPONSE_CMDID for peer ids in case
of WOW + ROAM failure scenarios, where target is suspended. This
will cause peer ids leak in the firmware.

Post the PEER_UNMAP_RESPONSE cmd to mc thread in case of ho fail.

Change-Id: I5b9e0fc874ab31f401f7adc8cff22fbc20811acb
CRs-Fixed: 2396094
2019-02-26 16:28:45 -08:00
Jeff Johnson
23503ac6b6 qcacld-3.0: Use vdev_id in roam_offload_scan_rssi_params
Change Ifbbca30b9aca9688931ac0f4e4f703c28ad0ad32 ("qcacmn: Replace
session_id in roam_offload_scan_rssi_params") is renaming the legacy
identifier session_id to vdev_id, so concurrently change the usage in
the legacy project.

Change-Id: Ifb2282b8977ad1fb999e8460c0d276343793a0c6
CRs-Fixed: 2404095
2019-02-26 04:26:24 -08:00
Jeff Johnson
4c6d40f67d qcacld-3.0: Converge on struct rssi_monitor_param
The driver currently defines two different data structures to hold
Gateway Update parameters:
- legacy struct rssi_monitor_req
- unified WMI struct rssi_monitor_req

To align with the converged software architecture remove the legacy
definition and exclusively use the unified WMI definition.

Change-Id: Ia3336b68dac84ce8aeb53ea6d5be8b9f2e0f1736
CRs-Fixed: 2404088
2019-02-26 04:26:19 -08:00
Jeff Johnson
c71a922a10 qcacld-3.0: Use vdev_id in rssi_monitor_param
Change I6087c5018af98a84e7e784527000448ace7fac6e ("qcacmn: Replace
session_id in rssi_monitor_param") is renaming the legacy identifier
session_id to vdev_id, so concurrently change the usage in the legacy
project.

Change-Id: Icf5d5797eed143837c57a2b7d9a6c9b1b63387e9
CRs-Fixed: 2404082
2019-02-26 04:26:12 -08:00