Commit Graph

16734 Commits

Author SHA1 Message Date
nshrivas
621bf6eb05 Release 5.2.0.143I
Release 5.2.0.143I

Change-Id: Ib84e63de04f4a2ed1386e0d93006359011fa4fc6
CRs-Fixed: 774533
2019-08-10 04:05:02 -07:00
Yuanyuan Liu
10a7666ed3 qcacld-3.0: Don't call pld_collect_rddm in trigger recovery handler
RDDM can be collected during kernel panic and pld_collect_rddm is
a blocking call that will cause WLAN watchdog if the caller is from
scheduler thread. Hence revert this change and collecting FW dump
inside kernel panic handler.

CRs-Fixed: 2506844
Change-Id: I8667896e61b856fc2e03e1c8278a6451b6a04c24
2019-08-10 04:05:01 -07:00
nshrivas
a5ab5f40dd Release 5.2.0.143H
Release 5.2.0.143H

Change-Id: Ia4904969ceef36ee1327d0eaa1ca58a7134eba85
CRs-Fixed: 774533
2019-08-09 22:25:59 -07:00
Sourav Mohapatra
dcd8f8d1f8 qcacld-3.0: Remove usage of sta_id in TSM stats path
Currently driver passes sta_id through out the call for getting the TSM
stats. Although passed, the sta_id is not used anywhere in the call
stack. As part of removing the sta_id usage, this sta_id can also be
removed safely.

Remove the usage of sta_id in get TSM stats path.

Change-Id: I1efbb1bfdc8df84e9b6a71dcd5bd39ea93ced21a
CRs-Fixed: 2484701
2019-08-09 22:25:58 -07:00
nshrivas
c6492882c2 Release 5.2.0.143G
Release 5.2.0.143G

Change-Id: I1951ddf0606be9923e7ffa5fd66f6e7f7ccf1a2a
CRs-Fixed: 774533
2019-08-09 18:20:14 -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
nshrivas
2552510775 Release 5.2.0.143F
Release 5.2.0.143F

Change-Id: Ic6293750cba6cbf97f73b1cb1626eb12312a62d0
CRs-Fixed: 774533
2019-08-09 16:32:58 -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
nshrivas
f8114bba2a Release 5.2.0.143E
Release 5.2.0.143E

Change-Id: I56753a12af8fc4fbdffb2e004e678b88106a7a94
CRs-Fixed: 774533
2019-08-09 13:04:34 -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
nshrivas
f3b8c89041 Release 5.2.0.143D
Release 5.2.0.143D

Change-Id: I404884fb54b9f515c94bc41f13d1ba37f8f394c5
CRs-Fixed: 774533
2019-08-09 08:57:36 -07:00
Yeshwanth Sriram Guntuka
fcb37b7cf7 qcacld-3.0: Disable FW log parsing feature for Lithium targets
Disable fw log parsing feature config flag for Lithium
targets as firmware will no longer use WMI events for
sending logs.

With Lithium config flag disabled:
   text    data     bss     dec     hex  wlan.ko size
6767311  251817 2424616 9443744  9019a0       17096KB

With Lithium config flag enabled:
   text    data     bss     dec     hex  wlan.ko size
6699206   81613 2423872 9204691  8c73d3       16768KB

Change-Id: I536a20a0c0d7c4abcee775e3007d1749a21b648b
CRs-Fixed: 2504803
2019-08-09 08:57:36 -07:00
nshrivas
07c09fb14c Release 5.2.0.143C
Release 5.2.0.143C

Change-Id: I4218b7f882931d67269874ed49c478607922f840
CRs-Fixed: 774533
2019-08-09 07:37:41 -07:00
Sourav Mohapatra
3646a8572c qcacld-3.0: HDD clean up for CDP API cdp_register_peer
Currently, the cdp API cdp_register_peer takes as input the sta_id. As a
part of cleaning up the usage of sta_id, replace it by peer mac address.

Change-Id: I0e92258777aff02940dd619c4d2ad784aa3e7f31
CRs-Fixed: 2502996
2019-08-09 07:37:40 -07:00
Rakshith Suresh Patkar
55e08c0916 qcacld-3.0: Cleanup ol_txrx_register_peer[PEER_ID_PHASE1]
Cleanup ol_txrx_register_peer to be peer mac address based
from local peer id based.

Change-Id: I59fd19c0185d8fe89563ac78bc9e8a8117c12ed1
CRs-Fixed: 2503182
2019-08-09 07:37:35 -07:00
bings
58247e90b1 qcacld-3.0: Use dma_iommu_mapping only ENABLE_SMMU_S1_TRANSLATION defined
In standard linux kernel, struct dma_iommu_mapping is not defined for
arm64, while in qualcomm linux kernel, struct dma_iommu_mapping is
defined for arm and arm64.

To fix build error in standard linux kernel, use struct dma_iommu_mapping
only when ENABLE_SMMU_S1_TRANSLATION is defined.

Change-Id: Ib02073163f2a38c47f864c6592fe2470046868ce
CRs-Fixed: 2496733
2019-08-09 07:37:31 -07:00
Sourav Mohapatra
570a46c710 qcacld-3.0: HDD cleanup for IPA API ucfg_ipa_wlan_evt
Currently, the IPA AIP ucfg_ipa_wlan_evt  takes as input the sta_id. As a
part of cleaning up the usage of sta_id, remove the parameter. Since
mac_addr is already present in the list of parameters, no need to add.

Change-Id: Iacc4a05de88973014eb4bcc1dfc97b7dc4a0d4fa
CRs-Fixed: 2503944
2019-08-09 07:37:26 -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
nshrivas
a4c39554e5 Release 5.2.0.143B
Release 5.2.0.143B

Change-Id: I0301fc70f9d3d7af1df07a533d2f283e5387dd98
CRs-Fixed: 774533
2019-08-09 02:50:12 -07:00
Sourav Mohapatra
05a52ed111 qcacld-3.0: Remove usage of sta_id in get SNR path
Currently driver passes sta_id through out the call for getting the SNR
stats. Although passed, the sta_id is not used anywhere in the call
stack. As part of removing the sta_id usage, this sta_id can also be
removed safely.

Remove the usage of sta_id in get SNR stats path.

Change-Id: I39482d8f6d8e3bd32e940a85d5592dada8f0460b
CRs-Fixed: 2503956
2019-08-09 02:50:11 -07:00
Sourav Mohapatra
24f0ae41f6 qcacld-3.0: Remove unused function hdd_get_peer_idx
Currently the function hdd_get_peer_idx is not being called from
anywhere. As the use of sta_id is being depreceted, the function can be
safely removed.

Clean up the unused function.

Change-Id: I6896d03ad2e8b427147e2259b737836cd3f44ca0
CRs-Fixed: 2484699
2019-08-09 02:50:07 -07:00
nshrivas
8dee2177b9 Release 5.2.0.143A
Release 5.2.0.143A

Change-Id: Ib9db3a1c6259d577ad05d260ca62b5296857048b
CRs-Fixed: 774533
2019-08-08 22:36:23 -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
nshrivas
f2a4c8c0c5 Release 5.2.0.143
Release 5.2.0.143

Change-Id: I2122466a7886a73f704b49230ababb28566afc64
CRs-Fixed: 774533
2019-08-08 21:04:28 -07:00
Lin Bai
56386f5a84 qcacld-3.0: Fix memory domain mismatch in skip_acs_timer
When FEATURE_WLAN_AP_AP_ACS_OPTIMIZE enabled, it will allocate
memory in INIT domain (wlan_hdd_startup), and free in ACTIVE
domain (hdd_wlan_exit).

Move to wlan_hdd_start_modules/wlan_hdd_stop_modules to avoid.

Change-Id: I0fd93baa306a136af2faa7af9dcccfb709984ef9
CRs-Fixed: 2505462
2019-08-08 21:04:27 -07:00
nshrivas
26c91a70e7 Release 5.2.0.142Z
Release 5.2.0.142Z

Change-Id: I2a0f17d5afb7787bad4d3c271d4679346acd1765
CRs-Fixed: 774533
2019-08-08 14:22:34 -07:00
Rajeev Kumar Sirasanagandla
7dee7fe7e0 qcacld-3.0: Avoid NULL pointer exception in HDD
If firmware doesn't support 5GHz band then ieee80211_supported_band
structure for HDD_NL80211_BAND_5GHZ is not allocated in wiphy and in
wlan_hdd_update_ht_cap() trying to derefer member-fields of
ieee80211_supported_band[HDD_NL80211_BAND_5GHZ] without NULL check is
causing NULL pointer exception.

To address this, add NULL check for 2GHz and 5GHz band pointers.

Change-Id: I8aa93b9cbe26ce674563505e222f5cb2aa970051
CRs-Fixed: 2503133
2019-08-08 14:22:33 -07:00
nshrivas
e67f4e465b Release 5.2.0.142Y
Release 5.2.0.142Y

Change-Id: I68c2be07759e2fedd67e990711b7ec1f384f35ea
CRs-Fixed: 774533
2019-08-08 11:37:52 -07:00
Jayachandran Sreekumaran
32a0d43f05 qcacld-3.0: Add sdio support for pld_wlan_enable
Add sdio support for pld_wlan_enable to put
the FW in the required mode.

Change-Id: I4ff3648a70b6c9cd4be389562851444258b347e6
CRs-Fixed: 2504554
2019-08-08 11:37:51 -07:00
Jinwei Chen
763f9d726f qcacld-3.0: Disable wlan suspend for monitor mode
Wlan suspend and WOW is not supported in monitor mode, disable them.

Change-Id: I5654cb837d01f78d08ae006040cc4f16cd6b3a36
CRs-Fixed: 2500835
2019-08-08 11:37:47 -07:00
nshrivas
703c4866a0 Release 5.2.0.142X
Release 5.2.0.142X

Change-Id: I23e7cead0ddcf362ebcf1638f9ed1d639453ce98
CRs-Fixed: 774533
2019-08-08 09:52:45 -07:00
hqu
030099b43f qcacld-3.0: Remove operationChannel from csr_roam_profile
Remove operationChannel from structure csr_roam_profile, remove
the code where value assigning to operationChannel take place.

Change-Id: If7cd64d4d7513000181f92faabd6c863341c71f9
CRs-Fixed: 2503043
2019-08-08 09:52:44 -07:00
wadesong
c48ea29e3d qcacld-3.0: Remove channel from struct hdd_mon_set_ch_info
1) Remove channel from struct hdd_mon_set_ch_info. All client
   code will use freq within the same struct from now on.

2) Replace the usage of channel ID(op_chan) with channel
   frequency(op_freq) in function hdd_mon_select_cbmode's
   parameter list.

3) Fix a number of camel cases detected in function
   hdd_select_cbmode.

Change-Id: Ib7c1ee453b34647e983749a713b33017b92103ac
CRs-Fixed: 2504779
2019-08-08 09:52:40 -07:00
Rakshith Suresh Patkar
e0b7640468 qcacld-3.0: Enable SMMU S1 TRANSLATION for ATOLL
Enable SMMU S1 TRANSLATION flag for ATOLL

Change-Id: Ia22060bd0c158602a3b7a9f31690a44cb94b2b49
CRs-Fixed: 2502129
2019-08-08 09:52:35 -07:00
nshrivas
e71e2d1381 Release 5.2.0.142W
Release 5.2.0.142W

Change-Id: I4b8b8950c958a19e2572ca7be00044d94e08bd87
CRs-Fixed: 774533
2019-08-08 08:40:19 -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
Liangwei Dong
e9793891b9 qcacld-3.0: Remove ChannelList from tCsrChannelInfo
Remove all the code reference of ChannelList.
Use freq_list in new code.

Change-Id: I1972f58f07b451dd52ead5dfcabce258f130f1ca
CRs-Fixed: 2503099
2019-08-08 08:40:07 -07:00
Liangwei Dong
a0bb630b78 qcacld-3.0: Replace ChannelList with freq_list
Replace tCsrChannelInfo->ChannelList by freq_list in:
sme_rrm.c

Change-Id: Ia90947e78b73de7ef87516ca00882bb8451d8afc
CRs-Fixed: 2503103
2019-08-08 08:38:58 -07:00
nshrivas
9dd14d684d Release 5.2.0.142V
Release 5.2.0.142V

Change-Id: I300ac5574502fd05e4557e937168d0fa8db03c7b
CRs-Fixed: 774533
2019-08-07 20:21:25 -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
nshrivas
37b7443896 Release 5.2.0.142U
Release 5.2.0.142U

Change-Id: I6ca268b2acf0d706bb95c89af7114a7429024d7b
CRs-Fixed: 774533
2019-08-07 14:30:23 -07:00
Jingxiang Ge
ace2c3c6a4 qcacld-3.0: Move vdev to DFS CAC state if channel is dfs
After got restart channel rsp from fw, vdev state will change
as: ST-RESTART_PROG->ST-CONN_PROG.

In lim_send_sme_ap_channel_switch_resp, if channel is non-dfs,
vdev state will change to up; if dfs channel, later it will
change to DFS CAC when starting cac timer.

Current issue is if there is ap stop after restart channel rsp,
while processing WLAN_VDEV_SM_EV_DOWN, there is no hanler in
ST-CONN_PROG > ST-DISCONN_PROG.

From design perspective, In SAP, ST_CONN_PROG is a dummy state,
ideally, SAP state should change as below without preemption :
	RESTART_PROGRESS->CONN_PROGRESS->UP
	RESTART_PROGRESS->CONN_PROGRESS->DFS_CAC_WAIT

To fix issue, change vdev state to DFS_CAC_WAIT in
lim_send_sme_ap_channel_switch_resp; So WLAN_VDEV_SM_EV_DOWN will
be handled in DFS_CAC_WAIT state.

At the same time, set DFS_CAC_WAIT when starting SAP, and clear
sap_move_to_cac_wait_state in sap state machine.

Change-Id: Iee89521471e456a553f40577da6d1e69aef3b803
CRs-Fixed: 2501339
2019-08-07 14:30:22 -07:00
nshrivas
b704fddad6 Release 5.2.0.142T
Release 5.2.0.142T

Change-Id: I2284eb7069f3d16ae0bb0c89db94142f421fa9a5
CRs-Fixed: 774533
2019-08-07 10:20:48 -07:00
gaurank kathpalia
224c81efd6 qcacld-3.0: Select default channel of SAP in case of failure
Currently the driver choses a default channel for SAP
in case of failures, logic of which is incorrect as
it does not take into account the hw mode, and all
other checks such as SRD, unsafe, DFS etc.
The channel chosen after this maybe not as per
expectation.

Fix is to chose a default channel from the acs channel
list itslef so that the checks of SRD etc. ae honored.

Change-Id: Ife8a6b88938fd566bed92a5bde1cb0fe34a45462
CRs-Fixed: 2476351
2019-08-07 10:20:47 -07:00
nshrivas
e963b9c82b Release 5.2.0.142S
Release 5.2.0.142S

Change-Id: I312987ed009e3cf16b42bda587bb6e886b8024a2
CRs-Fixed: 774533
2019-08-07 08:41:22 -07:00
gaurank kathpalia
2fcec840ce qcacld-3.0: Take a wakelock till CSA complete
Currently the driver sends the CSA IEs in the
beacon every beacon interval, and updates the
CSA IE count in every beacon.

If the wlan gets suspended in between the
updation of CSA IEs, the CSA is delayed
till the next resume, which could lead to
STA kickout event, if there is delay between
the CSA period, and the channel switch time.

Fix is to take a wakelock till CSA is completed
in order to avoid the STA kickout.

Change-Id: Iff03476433c755cbddc7568ffbd24ddb81fd1c90
CRs-Fixed: 2504039
2019-08-07 08:41:21 -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
Bala Venkatesh
58c241c551 qcacld-3.0: Release TDLS del sta serialization command
After sending the wmi_peer_delete command to FW. If there
is a change in channel info of HT cap from connected AP.
Then TDLS peers in lim will be deleted and dph entry will be
freed.
While processing the tdls del sta response from FW
if dph entry is NULL then WLAN_SER_CMD_TDLS_DEL_PEER is
not released and that can lead to active command timeout.

Release the serialization command in case of NULL dph entry.

Change-Id: Ib56806875cc84a0ecb9bcab16e9e0bb9d118efbb
CRs-Fixed: 2503993
2019-08-07 08:41:11 -07:00
nshrivas
6ef2c8e497 Release 5.2.0.142R
Release 5.2.0.142R

Change-Id: Icc6c92da7c4bc10976d62d98131e60c5fefefe9a
CRs-Fixed: 774533
2019-08-07 04:57:49 -07:00
Bala Venkatesh
07546fb480 qcacld-3.0: Check TDLS offchannel is supported or not
Check if the configured tdls offchannel through IOCTL
is supported or not. This is required if firmware
does not support 5G channels or any invalid channels

Change-Id: I49e3b7b758fddf22fbfe1b64dda2e4f47a27cf3b
CRs-Fixed: 2503913
2019-08-07 04:57:48 -07:00