Commit Graph

11899 Commits

Author SHA1 Message Date
Sandeep Puligilla
b7beb478db qcacld-3.0: Add legacy VDEV manager callbacks
Add legacy VDEV manager callbacks framework.

Change-Id: I8529a54382b3ffdecd25e54a97fc69d6a6a68177
CRs-Fixed: 2312724
2018-09-12 07:08:13 -07:00
jitiphil
fdcaaba297 qcacld-3.0: Introduce SSR protection wrapper to IPA callback APIs
IPA driver calling WLAN driver callback, and in parallel WLAN
driver is unloading and freeing this callback, which leads to
a use after free scenario

Add SSR protection wrapper to all of IPA callback APIs in driver
to avoid racing against driver unload or SSR or self recovery

Change-Id: I5dcdfe4749b89104ec79eac060e60fe5aa7c2335
Crs-Fixed: 2307365
2018-09-12 07:08:09 -07:00
Rajeev Kumar Sirasanagandla
327f9b6998 qcacld-3.0: Add support to store vdev object in sap context
Add support to store vdev object in sap context and acquire and
release its reference count during sap_set_session_param() and
sap_clear_session_param() respectively.

Change-Id: I61ab4a443ed2de5c58b62012a08c106aee7909d7
CRs-Fixed: 2312356
2018-09-12 07:08:05 -07:00
nshrivas
a33505a1b4 Release 5.2.0.96L
Release 5.2.0.96L

Change-Id: Iaf78b0b3f61c58638757c4f4b6c177982dee923d
CRs-Fixed: 774533
2018-09-12 02:19:16 -07:00
Sourav Mohapatra
113685f379 qcacld-3.0: Add support for FW Offload component
This is for adding support for FW offload component. It is responsible
to offload all the ini params that are needed by the firmware. To have
this component, the new files added are

components/fw_offload/dispatcher/inc/cfg_fwol.h
components/fw_offload/dispatcher/inc/wlan_fwol_ucfg_api.h
components/fw_offload/dispatcher/src/wlan_fwol_ucfg_api.c
components/fw_offload/core/inc/wlan_fw_offload_main.h
components/fw_offload/core/src/wlan_fw_offload_main.c
components/fw_offload/dispatcher/inc/wlan_fw_offload_public_struct.h

The fw_offload_main.h is to take care of the public APIs for the
component. The corresponding .c file implements the init/deinit of
the component. The fw_offload_public_struct.h is to define the public
structures needed. The ucfg files are for the APIs that can be called
from other components. The cfg_fwol stores the INIs and CFGs.

Change-Id: I4405b87e6dec15aa94146f8ec550078c3d03b1e6
CRs-Fixed: 2307837
2018-09-12 02:19:15 -07:00
nshrivas
c9941cc619 Release 5.2.0.96K
Release 5.2.0.96K

Change-Id: Ia2f1f14417246cc8dcf60dde5a58d8112086c53b
CRs-Fixed: 774533
2018-09-12 00:14:06 -07:00
Dustin Brown
ef5fc2d3f2 qcacld-3.0: Invert hdd_alloc_station_adapter()
The bulk of hdd_alloc_station_adapter() sits under the scope of a NULL
check. Invert the conditional to reduce nesting, and address a few other
style issues while we are at it.

Change-Id: Id2e147bc15ede62408ddf7d90245be069a3bff33
CRs-Fixed: TBA
2018-09-12 00:14:06 -07:00
Lin Bai
05195a5483 qcacld-3.0: Fix incompatible pointer compilation error in OCB
Typecast adapter->hdd_vdev to pointer of struct cdp_ctrl_objmgr_vdev
when invoking cdp_vdev_register().

Change-Id: Idc284726e1008ef69ec6ab0b53bc984f2bbb16b5
CRs-Fixed: 2313265
2018-09-12 00:14:03 -07:00
Manikandan Mohan
95453252fa qcacld-3.0: Check for following radio link stats events
When first WMI_RADIO_LINK_STATS_EVENTID is received radio stats buffer
is allocated based on num_radio param. There is an option for pending
following events. So update wma_unified_link_radio_stats_event_handler
to check if following events are valid wrt num_radio values to avoid
buffer overwrites.

Change-Id: If4675bada5492c3bae98c655b45cac6dc76b6431
CRs-fixed: 2309399
2018-09-12 00:13:59 -07:00
nshrivas
1e6840eea6 Release 5.2.0.96J
Release 5.2.0.96J

Change-Id: Ia087b98ba664fff8845cfb22dbe88b8ed152776b
CRs-Fixed: 774533
2018-09-11 18:27:16 -07:00
Pragaspathi Thilagaraj
0d1159e96d qcacld-3.0: Add vdev_active validation for wmi commands
When the host sends a wmi command with invalid vdev id, firmware
crashes. So to avoid this check the vdev_active flag for the
vdev before sending the wmi command.

This changeset validates the vdev_active check for the following
commands:
WMI_VDEV_CREATE_CMDID
WMI_VDEV_DELETE_CMDID
WMI_VDEV_START_REQUEST_CMDID
WMI_VDEV_RESTART_REQUEST_CMDID
WMI_VDEV_UP_CMDID
WMI_VDEV_STOP_CMDID
WMI_VDEV_DOWN_CMDID
WMI_VDEV_SET_PARAM_CMDID
WMI_VDEV_WMM_ADDTS_CMDID
WMI_VDEV_WMM_DELTS_CMDID

This change also removes the flag is_vdev_valid which seems to
duplicate the vdev_active flag.

Change-Id: If9d4a2b24f8141c26a73f3a012fa99d38b3221bc
CRs Fixed: 2312360
2018-09-11 18:27:15 -07:00
Dustin Brown
b0c53a848e qcacld-3.0: Limit cherry-picked change Ids to 50
The change Ids of the most recent cherry-picked git commits are appended
to the build tag. In some cases, we have seen build tags containing
thousands of change Ids. To avoid this, limit the number of change Ids
to 50. This should be sufficient to know if some recent change is in the
build or not, without including an unbounded number of change Ids in the
build tag.

Change-Id: I3713cb8e095730ced44d88f7d05a92c2dc77f8b0
CRs-Fixed: 2311431
2018-09-11 18:27:11 -07:00
Rajeev Kumar
4a8d264d94 qcacld-3.0: Enable QDF lock stats feature in debug build
Enable QDF lock stats debug feature in defconfig builds to detect
spin lock abuse in driver and fix it.

Change-Id: I264120d1ca722bac871173f2268737a943c2f5e0
CRs-Fixed: 2311639
2018-09-11 18:27:07 -07:00
nshrivas
713c020c36 Release 5.2.0.96I
Release 5.2.0.96I

Change-Id: I7832a45321cc2c43d08626c5ce0c0d78d29576bd
CRs-Fixed: 774533
2018-09-11 16:42:06 -07:00
Pragaspathi Thilagaraj
61dd79cf79 qcacld-3.0: Call wma_vdev_update_pause_bitmap after vdev assigned to iface
During vdev_attach, wma_vdev_update_pause_bitmap() is called to
clear the pause bitmap to zero to ensure the queues are unpaused.
This function is called immediately after cdp_vdev_attach before
the vdev created is assigned to interfaces[vdev_id].handle.
This causes the function wma_vdev_update_pause_bitmap to exit
everytime with error.

Call wma_vdev_update_pause_bitmap after vdev assigned to iface.

Change-Id: I1fc3af66212fc62211d03245cfddb96806a37c87
CRs-Fixed: 2312344
2018-09-11 16:42:05 -07:00
Kiran Kumar Lokere
f1a96f4fa3 qcacld-3.0: Add support to configure the HE OM control support
Add support to configure the HE Operating mode control support.

Change-Id: I97720465109b3b4f2462142901ddbc8a02951723
CRs-Fixed: 2305762
2018-09-11 16:42:01 -07:00
Kiran Kumar Lokere
1f96b4af34 qcacld-3.0: Add support for 11ax draft3.0 spec
Add support for 11ax draft3.0 spec.

Change-Id: I272d9f4ec6b3a2a23ad708265dd0afaf289c1b95
CRs-Fixed: 2294255
2018-09-11 16:41:57 -07:00
nshrivas
1f320040af Release 5.2.0.96H
Release 5.2.0.96H

Change-Id: If537cfe5306defd37166bca5e2851019864dc04f
CRs-Fixed: 774533
2018-09-11 14:57:15 -07:00
Jianmin Zhu
58b641e8d3 qcacld-3.0: Fix LFR3 assert for wrong peer ref count debug id
For peer map, in ol_rx_peer_map_handler->ol_txrx_peer_find_add_id
->ol_txrx_peer_find_hash_find_get_ref, peer ref count debug id is
PEER_DEBUG_ID_OL_PEER_MAP.

After LFR3 complete, host need delete old peer in
wma_roam_synch_event_handler ->wma_delete_bss->wma_remove_peer->
ol_txrx_peer_detach_force_delete->ol_txrx_peer_release_ref,
but peer ref count debug id passed is PEER_DEBUG_ID_OL_INTERNAL,
so peer ref count is failed to be decreased, the peer is failed
to be detached and released, new peer of roaming target AP can't
be created and attached.

Change-Id: I18572a8a8a4429c10a4862bb188b43aefb830a14
CRs-Fixed: 2311751
2018-09-11 14:57:14 -07:00
nshrivas
098013bd19 Release 5.2.0.96G
Release 5.2.0.96G

Change-Id: I1e1f039dd83880c65dc5f0a394148d3c6313b6b0
CRs-Fixed: 774533
2018-09-11 12:02:40 -07:00
gaurank kathpalia
00861f036c qcacld-3.0: Add src, and dst id support in WMA
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: I73a0f11bd6ea4edb0d4c8871d9e217e16f756e58
CRs-Fixed: 2305991
2018-09-11 12:02:38 -07:00
gaurank kathpalia
3a7f25b00f qcacld-3.0: Add src, and dst id support in PE
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: Iaa595f9676d469bef8e4d2e284c0b1d14c2321eb
CRs-Fixed: 2305979
2018-09-11 12:02:07 -07:00
gaurank kathpalia
9fb3f4b3cb qcacld-3.0: Add src, and dst id support in TX/RX
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: Ia79d1e8ceda97f956eadcef50524b8307fcc247b
CRs-Fixed: 2305993
2018-09-11 12:01:57 -07:00
Ashish Kumar Dhanotiya
9f72df00fd qcacld-3.0: Add mtrace logging for P2P module
We are transitioning to new logging infrastructure
by using existing mtrace functionality.

Add new logging for complete P2P module.

Change-Id: If49d66ea42a48be0ac6c7a8b4c91d69ebd5fcef9
CRs-Fixed: 2308618
2018-09-11 12:01:40 -07:00
Ashish Kumar Dhanotiya
2af7f56cd4 qcacld-3.0: Enable mtrace logging
Enable the mtrace logging by adding CONFIG_ENABLE_MTRACE
flag in Kbuild and defconfig file.

Change-Id: I832ab008dc4b7eb7e3124382ebe395cb01464a20
CRs-Fixed: 2311833
2018-09-11 12:01:32 -07:00
Pragaspathi Thilagaraj
00bd8bc47f qcacld-3.0: Remove legacy ini for chainmask configs
Remove the legacy ini config values defined in hdd_cfg.
Call the mlme cfg get api to retrieve chainmask config values.
Remove the tx_chainmask_cck from cds_config as mlme object is
not initialized during cds_open. Call mlme cfg api during
wma_open to populate the tx_chainmask_cck value.

Change-Id: If48aeb62cf35e2e604be2b72845b8e98c5c313dc
CRs-Fixed: 2310382
2018-09-11 12:01:28 -07:00
Pragaspathi Thilagaraj
ce0a9d02ce qcacld-3.0: ADD MLME CFG items of Chainmask configs
Add the following chainmask INI configs to MLME cfg:
1. CFG_VHT_ENABLE_1x1_TX_CHAINMASK,
2. CFG_VHT_ENABLE_1x1_RX_CHAINMASK,
3. CFG_TX_CHAIN_MASK_CCK,
4. CFG_TX_CHAIN_MASK_1SS,
5. CFG_11B_NUM_TX_CHAIN_NAME,
6. CFG_11AG_NUM_TX_CHAIN_NAME,
7. CFG_TX_CHAIN_MASK_2G_NAME,
8. CFG_RX_CHAIN_MASK_2G_NAME,
9. CFG_TX_CHAIN_MASK_5G_NAME,
10. CFG_RX_CHAIN_MASK_5G_NAME

Introduce the basic infra APIs related to these configs from mlme

Change-Id: I56b56fe9ba5282b459bc03587c2cacbf91b12af3
CRs-Fixed: 2310381
2018-09-11 12:01:23 -07:00
nshrivas
1e5dcd6774 Release 5.2.0.96F
Release 5.2.0.96F

Change-Id: I84e4da8f0b463c922aff84b81a95053db5569b58
CRs-Fixed: 774533
2018-09-11 08:44:08 -07:00
Liangwei Dong
8030a53419 qcacld-3.0: allow STA SAP SCC on DFS
If sta_sap_scc_on_dfs_chan = 1, we
allow the SAP on STA's DFS chan.

Change-Id: I6d74f0db2247d3746047de7c65197d6634c4c6bb
CRs-Fixed: 2309846
2018-09-11 08:44:08 -07:00
Qiwei Cai
ba95ce632f qcacld-3.0: Featurize BUILD_DIAG_VERSION
Featurize BUILD_DIAG_VERSION to compile out to save memory.

Change-Id: Ib6b6c8d197556a9457e600dd5e802f7e50f6242d
CRs-Fixed: 2301487
2018-09-11 08:44:03 -07:00
Dundi Raviteja
04037a171f qcacld-3.0: Scanning failed due to reassociation is in progress
If driver gets connect command with bssid hint, fast reassoc command
is sent to FW and roaming_in_progress is set to 1. In another thread
while disconnecting, vdev down is sent to FW. As vdev is down fast
reassoc command fails in FW and host will not get response, so
roaming_in_progress will never set to 0.

To address this issue, set roaming_in_progress to 0 after disconnection.

Change-Id: If9c64568353ed01a161cc47c6261f4190c0fb93c
CRs-Fixed: 2305830
2018-09-11 08:43:59 -07:00
nshrivas
821a6d0385 Release 5.2.0.96E
Release 5.2.0.96E

Change-Id: I642b8843205d945f926c4504e61ccd75ebe92c5d
CRs-Fixed: 774533
2018-09-11 03:49:00 -07:00
gaurank kathpalia
d9ee9f2481 qcacld-3.0: Add src, and dst id support in SYS/CFG
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: I869e14830b2f57b951033ada5957594fac7bc4c2
CRs-Fixed: 2305994
2018-09-11 03:49:00 -07:00
nshrivas
fb10e8f2dd Release 5.2.0.96D
Release 5.2.0.96D

Change-Id: I5926bbc71ce0451299a7b23fef2a76e0b1800ab2
CRs-Fixed: 774533
2018-09-10 23:51:52 -07:00
Will Huang
24d272baff qcacld-3.0: Remove unneeded csr_nonscan_pending_ll_remove_entry()
csr_nonscan_pending_ll_remove_entry() is not a correct API to
remove command from non-scan pending queue, it always return
false and fail to insert command to local list.

The correct API to remove an entry is csr_release_command(), no
need to check entry when insert to local list.
Remove the wrong API csr_nonscan_pending_ll_remove_entry().

Change-Id: I6c81f5d4ae57ceb6ebf2eec0a63859d0c1f12cb1
CRs-Fixed: 2308863
2018-09-10 23:51:51 -07:00
Rachit Kankane
b57ea618f2 qcacld-3.0: Allocate DFS buffers dynamically
Disable WLAN_DFS_STATIC_MEM_ALLOC for Genoa

Change-Id: Ie035c9f327dccbe4c2cc10f2354d1b23c7890675
CRs-Fixed: 2312050
2018-09-10 23:51:47 -07:00
nshrivas
af6cbcb23a Release 5.2.0.96C
Release 5.2.0.96C

Change-Id: Ic04c3d1528b379ab3bc1f654af680a41914c420d
CRs-Fixed: 774533
2018-09-10 20:41:26 -07:00
Abhishek Singh
1df508847a qcacld-3.0: Refactor mlme code to integrate SAP start fail and restart
Divide and refactor mlme functions to integrate vdev state
machine for SAP restart and start fail.

Change-Id: I824df69e126d4647a156bc10570689f6b0822b06
CRs-Fixed: 2309284
2018-09-10 20:41:26 -07:00
Abhishek Singh
2904a6ac79 qcacld-3.0: Refactor mlme code to integrate SAP stop vdev SM
Divide and refactor mlme functions to integrate vdev state
machine for SAP stop.

Change-Id: Id9841b1a87f2f3c1c2816dae8b2a183ac04791a9
CRs-Fixed: 2309264
2018-09-10 20:41:22 -07:00
Abhishek Singh
dfa69c397a qcacld-3.0: Refactor mlme code to integrate SAP start vdev SM
Divide and refactor mlme functions to integrate vdev state
machine for SAP start.

Change-Id: Id4419261cb1ba88754eded9fd780cca60f1f5db7
CRs-Fixed: 2309240
2018-09-10 20:41:19 -07:00
Kiran Kumar Lokere
427a20f452 qcacld-3.0: Set the aggr size to FW during BA buff size config
Set the aggregation size to FW with BA buffer size value to
update the number of packets in aggregation.

Change-Id: I5d120b60c3dfb4b6953222da5516e793dd3fb40d
CRs-Fixed: 2301335
2018-09-10 20:41:10 -07:00
nshrivas
5424d46cc6 Release 5.2.0.96B
Release 5.2.0.96B

Change-Id: I7f7dc16756e3175ccb3f4755feda246d7d739dd0
CRs-Fixed: 774533
2018-09-10 11:54:11 -07:00
Pragaspathi Thilagaraj
f81a8f0ad4 qcacld-3.0: Remove is_vdev_valid flag from the vdev structure wma_txrx_node
The flag is_vdev_valid and vdev_active serve the same purpose,
they are used to prevent the race condition where wmi vdev level
command gets posted to FW after vdev is deleted. Both the flags
are set to true in wma_vdev_attach when the vdev is created and
set to false in wma_vdev_detach where the vdev delete command is
sent to fw.

So remove is_vdev_valid flag and replace it with the existing
vdev_active flag.

Change-Id: I5199bc7d473470fd9f16320d323f86257a24ae19
CRs Fixed: 2312321
2018-09-10 11:54:11 -07:00
nshrivas
78ae2493a9 Release 5.2.0.96A
Release 5.2.0.96A

Change-Id: I8fc84687cbd32e89538989b208ddbd8f6b2c52bd
CRs-Fixed: 774533
2018-09-10 04:25:22 -07:00
Qiwei Cai
36bd9ded7b qcacld-3.0: Disable CCX for genoa to save memory
Disable feature CONFIG_QCOM_ESE (CCX) in genoa
config file to save memory.

Change-Id: I2a00be3f9baf976a132f5aaa051e0e7b0935f50c
CRs-Fixed: 2307614
2018-09-10 04:25:21 -07:00
nshrivas
4683c01f1a Release 5.2.0.96
Release 5.2.0.96

Change-Id: I68b55d64c4083c2cb6e89c0ad6007aff77d10e92
CRs-Fixed: 774533
2018-09-08 07:37:55 -07:00
Jianmin Zhu
c78aa31570 qcacld-3.0: Add flag of using enhancements to serialization or not
Enhancements to serialization:
Permit cmd of different vdev can execute concurrently etc.

Change-Id: I6e30f6f73067fd93a7c1f44d4e8310e8557a6a68
CRs-Fixed: 2308582
2018-09-08 07:37:55 -07:00
nshrivas
3595b0acf4 Release 5.2.0.95Z
Release 5.2.0.95Z

Change-Id: I2ec4834ce582d9e60c627d2f334ada8a1de905fc
CRs-Fixed: 774533
2018-09-07 23:23:45 -07:00
Dustin Brown
1a20b08cd1 qcacld-3.0: Remove DRIVER_MODULES_OPENED
The "open" state only comes into play once, when the wlan driver is
first loaded. It represents a driver state that is neither fully up, nor
down, as the soc has been probed, but many internal data structures have
not been initialized yet. After the first interface up operation,
however, the driver moves to the "enabled" state, and can never re-enter
the "open" state.

This half-up driver state causes a number of difficult to deal with side
effects, without adding much value. Simply remove the state, instead moving
straight into the "enabled" state on wlan load instead. Thus, moving
into the idle "closed" state after wlan load will look exactly the same
as it does  after the last interface is downed.

Change-Id: I4ec1268eb491fec04a78b90e51c6e616d95e019e
CRs-Fixed: 2295921
2018-09-07 23:23:44 -07:00
Srinivas Girigowda
3dce784021 qcacld-3.0: HDD: Fix checkpatch return void warnings
Fix checkpatch return void warnings.
void function return statements are not generally useful.

Change-Id: I62f8720940a455345becdfa4043f1f5fdac9769d
CRs-Fixed: 2311614
2018-09-07 23:23:40 -07:00