Commit Graph

11241 Commits

Author SHA1 Message Date
Jeff Johnson
3a08ff978a qcacld-3.0: Refine the TWT callback APIs
Currently the TWT enable complete and disable complete APIs specify a
void pointer for the context parameter.  It is fine for an API to use
a void pointer for a data structure that is opaque or a binary blob,
but in these cases an HDD handle is always passed, so explicitly
reference that type. This will allow the compiler to verify that the
correct type of parameter is being passed.

Change-Id: Ibbe3f6809e892833473d234bf19a9245d7e7c1f1
CRs-Fixed: 2276989
2018-07-12 22:26:42 -07:00
Jeff Johnson
959f369ed4 qcacld-3.0: Refine the link layer stats callback API
It is fine for an API to use a void pointer for a data structure that
is opaque or a binary blob, but it is not ok to do so when the type of
the data must be known and agreed upon by both the caller and the
callee. In the case of the link layer stats callback the API
definition uses a void pointer for both the context parameter and the
response parameter, but an HDD handle is always passed as the context
and a tSirLLStatsResults struct is always passed as the response, so
explicitly reference those types. This will allow the compiler to
verify that the correct types of parameters are being passed.

Change-Id: Iba181bbc97331f8fdde1cdf5c81a80efef014839
CRs-Fixed: 2276494
2018-07-12 22:26:38 -07:00
nshrivas
4a7195318f Release 5.2.0.88E
Release 5.2.0.88E

Change-Id: I70d746b75720b0a9a8f4c471e28f7bda0448a1a5
CRs-Fixed: 774533
2018-07-12 18:02:03 -07:00
Sravan Kumar Kairam
b8bdf522fc qcacld-3.0: Register target if ops for DP control ops
As part of DP-CP interaction convergence register common
converged target if ops for DP control ops.

Change-Id: Ifbe5d20e32262782016c3b0c20a7d2e149a071c3
CRs-fixed: 2273037
2018-07-12 18:02:02 -07:00
nshrivas
a1ea7c5d2b Release 5.2.0.88D
Release 5.2.0.88D

Change-Id: If14bcfea495163be2970a9e7670029bce4b5e1be
CRs-Fixed: 774533
2018-07-12 12:34:44 -07:00
Qiwei Cai
a01a96291f qcacld-3.0: Featurize wlan BMI
Featurize wlan BMI to compile out when not needed.

Change-Id: I4ea1e34ee4299840cf7a601396c4dba7af415623
CRs-Fixed: 2258614
2018-07-12 12:34:43 -07:00
Sravan Kumar Kairam
cb5fd01a0c qcacld-3.0: Update UMAC ctrl pdev to dp pdev
Update UMAC ctrl pdev handle to dp pdev handle and also
update dp pdev handle to UMAC pddev handle.

Change-Id: I7e6fd9c80d3e982ce9398b2c9229622826f0f33f
CRs-Fixed: 2254324
2018-07-12 12:34:40 -07:00
Yeshwanth Sriram Guntuka
d8987cf5ec qcacld-3.0: Ignore deauth ind received when in DEAUTH_REQ substate
P2P GO received deauth frame from p2p client and del_station is
received from userspace. As part of del_station FORCE_DEAUTH_STA
command is processed. Deauth frame is processed after this which
sends DEAUTH_IND to csr. Wm status change command is enqueued and
is not processed since there is already an active command. Cleanup
is done as part of del_station. Auth frame received is processed
and auth rsp is sent. Message is posted to lim on receiving assoc
req frame from p2p client. Wm status change command is processed
and DEAUTH_CNF msg is posted to lim. Assoc req frame is processed
and ASSOC_CNF is posted to lim. DEAUTH_CNF is processed before
ASSOC_CNF due to which sta_ds entry is removed. Assoc resp is
not transmitted as a result and p2p group formation fails.

Fix is to ignore deauth indication received when csr substate
is DEAUTH_REQ.

Change-Id: Ia1966a4cced3faf15605aeb3d69b8fafa2176c22
CRs-Fixed: 2248136
2018-07-12 12:34:37 -07:00
nshrivas
324ed56ff7 Release 5.2.0.88C
Release 5.2.0.88C

Change-Id: I6119a06d188808389c97955070a298b5438e07af
CRs-Fixed: 774533
2018-07-11 23:36:22 -07:00
Rachit Kankane
f3f4068f01 qcacld-3.0: Disbale WLAN_CONV_SPECTRAL_ENABLE
Disable WLAN_CONV_SPECTRAL_ENABLE for Genoa

Change-Id: Iadbb9f2a84b11e422fa919838e31a1f57c519f6e
CRs-Fixed: 2276680
2018-07-11 23:36:22 -07:00
Liangwei Dong
0da1426e7b qcacld-3.0: Enable Host STA OBSS Scan
Enable supplicant STA OBSS Scan
and disable OBSS SCAN WMI command sending
if Firmware doesn't support OBSS scan offload.

Change-Id: Id8fde7301d307c355b9f6cf82b85854a6d84ca79
CRs-Fixed: 2275065
2018-07-11 23:36:18 -07:00
nshrivas
139485f809 Release 5.2.0.88B
Release 5.2.0.88B

Change-Id: I3b5d0a0ac927f61dd25bbc87c2f922280098a554
CRs-Fixed: 774533
2018-07-11 18:45:48 -07:00
Sourav Mohapatra
a30c457cc9 qcacld-3.0: Add check for validity of COUNTRY driver cmd
When the driver command COUNTRY is issued from the userspace, the
command and the parameter is copied from the user in hdd_driver_command()
where it is then processed by hdd_drv_cmd_process() and then passed on
to the handler, in this case, drv_cmd_country(). The command parameter
passed is then parsed for the country code appended after the string
"COUNTRY". In the case the command is passed without any country code,
there may occur an out of bounds index access in the function
drv_cmd_country(). The parsed parameters in this function are accessed
without any validity check.

Add a validity check to verify that the command is passed with country
code parameters to prevent access of out of bound index.

Change-Id: I03c372796ed7cd62e54a0acdf237069be076ee2c
CRs-Fixed: 2242617
2018-07-11 18:45:47 -07:00
Jeff Johnson
f6182e4561 qcacld-3.0: Refine the congestion_cb API
Currently the congestion_cb API specifies a void pointer for the
context parameter.  It is fine for an API to use a void pointer for a
data structure that is opaque or a binary blob, but in this case an
HDD handle is always passed, so explicitly reference that type. This
will allow the compiler to verify that the correct type of parameter
is being passed.

Change-Id: I3bfa07300fad8cd75b7b98c9b7ccdad4936bf32f
CRs-Fixed: 2276476
2018-07-11 18:45:44 -07:00
Jeff Johnson
b7fa256b6c qcacld-3.0: Refine the chip_power_save_fail_cb API
Currently the chip_power_save_fail_cb API specifies a void pointer for
the context parameter.  It is fine for an API to use a void pointer
for a data structure that is opaque or a binary blob, but in this case
an HDD handle is always passed, so explicitly reference that type.
This will allow the compiler to verify that the correct type of
parameter is being passed.

Change-Id: Ia9cbf1a229423d3dffd4d137c726d34b7a70fbb3
CRs-Fixed: 2276467
2018-07-11 18:45:41 -07:00
Jeff Johnson
81c2cd909c qcacld-3.0: Remove obsolete Link Quality Indication support
CSR contains the remnants of a Link Quality Indication support. Since
this is unused, remove it.

Change-Id: I5235e204e8ec15c2d927e8b3a95e1f65cab4cf70
CRs-Fixed: 2276296
2018-07-11 18:45:37 -07:00
Abhinav Kumar
dd01d8df25 qcacld-3.0: Remove logically dead code in wlansap_start_bss
Remove redundant NULL check for hHal in wlansap_start_bss.

Change-Id: Iaac53d1203ec3bc4a6f12dd1db3634b5636ae3b2
CRs-Fixed: 2267073
2018-07-11 18:45:34 -07:00
Dustin Brown
ef8448da63 qcacld-3.0: Add modern WMA logging macros
In order to help facilitate the move to per-level logging, add new
logging macros to WMA.

Change-Id: Ie5fa0074f6ace527a84dcc82b332607473615d7c
CRs-Fixed: 2275464
2018-07-11 18:45:30 -07:00
nshrivas
f3df638abc Release 5.2.0.88A
Release 5.2.0.88A

Change-Id: I569eafd5ada6cfd6d9772e080faf02a4bf7958fc
CRs-Fixed: 774533
2018-07-11 14:29:03 -07:00
Sravan Kumar Kairam
43f191ba25 qcacld-3.0: Update UMAC vdev objmgr handle to DP vdev
At DP vdev registration update UMAC vdev objmgr handle to the
DP vdev structure.

Change-Id: I438cac1cc952ee8e1a4a372320e686d610b6c071
CRs-Fixed: 2236430
2018-07-11 14:29:02 -07:00
Nirav Shah
fe28770307 qcacld-3.0: Enable Debugfs in usb/sdio debug build
Enable Debugfs in usb/sdio debug build for Genoa.

Change-Id: I3515efffce1091c8233f4aad769dc5debb05ad15
CRs-Fixed: 2274862
2018-07-11 14:28:59 -07:00
Min Liu
e4b38a08e2 qcacld-3.0: Fix mem leak in hdd_objmgr_create_and_store_vdev
In the error path of hdd_objmgr_create_and_store_vdev,
osif_priv->osif_tdls is not freed.
Call wlan_cfg80211_tdls_priv_deinit to free the buffer
in error path.

Change-Id: I4f1fdca1a6a4f2e8c061dc227632850d5baab320
CRs-Fixed: 2275008
2018-07-11 14:28:55 -07:00
Bala Venkatesh
110b03e0f7 qcacld-3.0: Create object mgr self peer for STA mode
For self STA object manager peer is not created.
To transmit some frames before association object manager
peer is required in wlan_mgmt_txrx_mgmt_frame_tx.
So, create self STA obj manager peer as part of vdev attach.

CRs-Fixed: 2276106
Change-Id: If34e039e1bbadcafabd1f86579c7d639256c9267
2018-07-11 14:28:52 -07:00
Mohit Khanna
f7562c330e qcacld-3.0: Fix DPTRACE live mode timing logic
DPTRACE timing logic uses the bandwidth request timer (~100ms) to make
calculations. Fix the current code to invoke qdf_throttle_live_mode
every 100ms, instead of when the throughput changes.

Change-Id: Ic64c28ef30ac7d7f764216a615ff1d9903436105
CRs-Fixed: 2273874
2018-07-11 14:28:48 -07:00
Ajit Pal Singh
44273d6464 qcacld-3.0: Call cnss_wlan_enable() for QCN7605 USB
Call cnss_wlan_enable() for QCN7605 USB.

Change-Id: I566e934ee43db0b95dad799cac6731695f62992e
CRs-Fixed: 2269602
2018-07-11 14:28:45 -07:00
Ajit Pal Singh
6c6e81c714 qcacld-3.0: Add support for CNSS USB
Adds support in pld_usb.c for registering with CNSS driver.
pld_usb can now register directly with Linux USB stack or with
CNSS driver.
For QCN7605, registration is to be done with CNSS.

Change-Id: Ibf7e51679e1848bcd8e1acfa43c457f42ff40c0b
CRs-Fixed: 2269602
2018-07-11 14:28:41 -07:00
Will Huang
b52446a70e qcacld-3.0: Fix SAP stop fail while detect radar in cac wait state
If radar detected while in SAP CAC wait state, and stop AP command
invoke at same time, SAP machine will go to eSAP_DISCONNECTING but
ignore eSAP_HDD_STOP_INFRA_BSS message in sap_fsm_state_disconnecting()
because is_chan_change_inprogress is not set for this case.

Set is_chan_change_inprogress as case radar detected after cac
wait time.

Change-Id: I156cf8375520eeb258d5cde53bd13e80881a36a3
CRs-Fixed: 2273169
2018-07-11 14:28:38 -07:00
Will Huang
ba035ec953 qcacld-3.0: Fix deadlock of rmmod and wlan start module
On cnss2 platform, the cnss callbacks in wlan driver are called with
serialization, and in wlan driver stop module and start module has
mutex of iface_change_lock, it might hit deadlock if race condition
happen of rmmod and start module, because start module might call
pld_power_on for this case.

Fix by setting unload flag earlier in __hdd_module_exit which in
different context of cnss serialized work queue, it prevents new
interface open at this point and wait for external thread complete
after it, it close race window before call wlan_hdd_pld_remove.

Change-Id: I8eb3740701070428c59f1fe3e8d2f439d9173413
CRs-Fixed: 2265691
2018-07-11 14:28:35 -07:00
nshrivas
63c28ba20f Release 5.2.0.88
Release 5.2.0.88

Change-Id: If22a0d0d2496217674288168f17f059baa3b40c7
CRs-Fixed: 774533
2018-07-10 18:41:56 -07:00
Dustin Brown
0ea8d3b85f qcacld-3.0: Add "unit_test" IOCTL
Add a unit test IOCTL for components to hook their unit tests into.

Change-Id: I676394771a35263454bc0f6d13174fbb7d957e67
CRs-Fixed: 2274538
2018-07-10 18:41:55 -07:00
Lin Bai
5dc5495d9a qcacld-3.0: Allocate/Free skb in same function
The skb used for HW-mode-change vendor event will be freed twice
in failure scenario.
To avoid this, just keep the free in same function as allocation.

CRs-Fixed: 2274784
Change-Id: Ibd37bc9787470da6de93c87a16c4c3bed7d1f78e
2018-07-10 18:41:52 -07:00
Jeff Johnson
7b3c98f329 qcacld-3.0: Clean up the wlan_hdd_power API
Clean up issues identified in wlan_hdd_power.h:
- Make sure all APIs have documentation
- Make sure all APIs adhere to the coding standard

Change-Id: I955b2eaec5f583d8d558df1dac7708b7b455e089
CRs-Fixed: 2275266
2018-07-10 18:41:49 -07:00
bings
6fb9bf69d3 qcacld-3.0: Check txrx_vdev before calling cdp_fc_vdev_flush
When txrx_vdev is NULL, zero address access happens if cdp_fc_vdev_flush
is called.

Before calling cdp_fc_vdev_flush, make sure txrx_vdev is not NULL.

Change-Id: I13b52bd3f2fb5e7db6150c8bf645c5bec703bc2b
CRs-Fixed: 2272005
2018-07-10 18:41:45 -07:00
Krunal Soni
d90ed4ea85 qcacld-3.0: Fix peer ref-count while deleting peer as part of LFR3
There are two instances where peer ref counting leak has been observed
1) When DUT-STA is connected to AP1 and if it tries to roam to AP2 or
   to same AP1 then as part of roam sync indication, it needs to delete
   the old peer and create the new peer. Deletion of old peer is
   happening through force delete operation which is No-OP for some of
   the platforms. In such cases, do normal peer delete operation, so
   that peer ref count can be deleted properly.

CRs-Fixed: 2270761
Change-Id: Ibcad72943258e531e29498961d3d7e692fd05b36
2018-07-10 18:41:42 -07:00
Lin Bai
772fbaf169 qcacld-3.0: NULL pointer dereferenced when starting 11ax SAP
BSS Desc pointer will be NULL when starting SAP, in function
csr_roam_issue_start_bss(). And it is causing NULL pointer
dereference when get bss channel number from BSS Desc.

Get channel number from csr_roamstart_bssparams instead.

CRs-Fixed: 2272749
Change-Id: Idf4eeb21f1298db03a030af72bf9f0a530ba3e68
2018-07-10 18:41:39 -07:00
nshrivas
d83af03643 Release 5.2.0.87Z
Release 5.2.0.87Z

Change-Id: I04662b69afec1321eeb533ac94ceb8aadf0a9373
CRs-Fixed: 774533
2018-07-10 15:39:59 -07:00
Sravan Kumar Kairam
1f8f8b320e qcacld-3.0: Add IPA TX complete nbuf call back function
For IPA MCC SW TX path add IPA TX complete nbuf call back which
frees the IPA TX descriptor after TX completion.

Change-Id: Ic7baae3db11c6ae92daa722b30fa7028481c0f93
CRs-Fixed: 2240220
2018-07-10 15:39:58 -07:00
nshrivas
588c3029fb Release 5.2.0.87Y
Release 5.2.0.87Y

Change-Id: I25c4155b14f46a404863333da00137f18a635263
CRs-Fixed: 774533
2018-07-10 14:06:37 -07:00
Jeff Johnson
fb0857d3b5 qcacld-3.0: Clean up the wlan_hdd_softap_tx_rx API
Clean up issues identified in wlan_hdd_softap_tx_rx.h:
- Make sure all APIs have documentation
- Make sure only public APIs are present
- Make sure API identifiers do not use camelCase
- Remove obsolete API hdd_softap_rx_mul_packet_cbk()

Change-Id: Icacd2c7b1358cd6f71d86dc5d8a966973ff7a110
CRs-Fixed: 2275265
2018-07-10 14:06:37 -07:00
Jeff Johnson
b9feee40b6 qcacld-3.0: Fix indent in hdd_pld_request_bus_bandwidth()
Checkpatch flagged the following issue, so fix it:

ERROR:CODE_INDENT: code indent should use tabs where possible
+^I^I          next_rx_level, avg_rx);$

Change-Id: Ib6133df181ec7517bf0b212bd8d677666d99ccb9
CRs-Fixed: 2275264
2018-07-10 14:06:34 -07:00
Jeff Johnson
dd6fd48b3d qcacld-3.0: Remove obsolete 11d scan callback mechanism
SME exposes an 802.11d scan callback mechansim that was used by a
prior generation of the driver. The current generation no longer uses
this callback, so remove it.

Change-Id: I11b7916fd8244f3ba03ec73779a8c7e61c2a06ab
CRs-Fixed: 2273914
2018-07-10 14:06:30 -07:00
nshrivas
611522dd8b Release 5.2.0.87X
Release 5.2.0.87X

Change-Id: I9aadde060089d36afa80db59ec6bd92d9f3f635b
CRs-Fixed: 774533
2018-07-09 15:55:27 -07:00
Kabilan Kannan
8de9238d10 qcacld-3.0: Do not call wma_remove_peer(), when peer is invalid
Do not call wma_remove_peer() function, when TDLS peer
is invalid.

Change-Id: I8dba5b9db0b55b8dd21a876dea9f7861e67434eb
CRs-Fixed: 2271733
2018-07-09 15:55:27 -07:00
nshrivas
3d877266bd Release 5.2.0.87W
Release 5.2.0.87W

Change-Id: I220e65b8dc0168a83aca1f0bbb10644eebc68c46
CRs-Fixed: 774533
2018-07-09 14:24:30 -07:00
Dustin Brown
bec5806fea qcacld-3.0: Move panic messages into QDF_DEBUG_PANIC
QDF_DEBUG_PANIC has recently gained a reason parameter. Move instance of
logging followed immediately by QDF_DEBUG_PANIC to single calls.

Change-Id: I6633296fb1c82a3945cedc967de222410b9f5d9b
CRs-Fixed: 2274413
2018-07-09 14:24:30 -07:00
nshrivas
2b6c925995 Release 5.2.0.87V
Release 5.2.0.87V

Change-Id: I33fe67d28f1280ab5408ed00ba373924f2a2c505
CRs-Fixed: 774533
2018-07-09 09:57:20 -07:00
Wu Gao
b422f77258 qcacld-3.0: Check txrx vdev pointer before tx mgmt frame
It get NULL pointer to txrx vdev when Rome platform tx mgmt frame in
cdp_mgmt_send_ext, and then DUT broken since access NULL pointer.
So, add protection before call cdp_mgmt_send_ext.

Change-Id: Ia51a8183bf89115a4f0f3520b80186daa379602d
CRs-Fixed: 2265687
2018-07-09 09:57:20 -07:00
nshrivas
8582ad9b92 Release 5.2.0.87U
Release 5.2.0.87U

Change-Id: I1d6bf355b0c5be63f2b8a44b661fece5c6039cb3
CRs-Fixed: 774533
2018-07-09 08:31:11 -07:00
jsreekum
ac44b92ac6 qcacld-3.0: Add default target configs for Genoa
Add Genoa specific default target configurations for
offload configs, max tx pattern config and max sta
vdev config

Change-Id: Id682b1103d87021e207de335721805515db6a932
CRs-Fixed: 2258999
2018-07-09 08:31:10 -07:00
nshrivas
d3215e97db Release 5.2.0.87T
Release 5.2.0.87T

Change-Id: Ia662c55d4c5223e39d819530655e6b0d0d8f0bc1
CRs-Fixed: 774533
2018-07-09 05:32:48 -07:00