Commit Graph

16811 Commits

Author SHA1 Message Date
Rakshith Suresh Patkar
6ff56da568 qcacld-3.0: Cleanup ol_txrx_get_tx_resource[PEER_ID_PHASE1]
Cleanup ol_txrx_get_tx_resource to be peer mac address based
from local peer id based.

Change-Id: Id7ac4b5152c782d3475d9fad59f8f835102483cc
CRs-Fixed: 2508132
2019-08-17 10:53:38 -07:00
nshrivas
f018ae60d7 Release 5.2.0.144M
Release 5.2.0.144M

Change-Id: I41d2dc55dffe91211d058bde7709213b8a9031db
CRs-Fixed: 774533
2019-08-16 22:21:36 -07:00
Alan Chen
6ccc4fa788 qcacld-3.0: Sync runtime pm resume when system suspend occurs
Some system suspend commands are getting sent to firmware while
runtime resume is in progress. Sync runtime pm resume when system
suspend occurs to avoid this.

Change-Id: I6e652104e984b81e29a5f328fcf3937502a8f47f
CRs-Fixed: 2509910
2019-08-16 22:21:36 -07:00
nshrivas
8fd84758e7 Release 5.2.0.144L
Release 5.2.0.144L

Change-Id: I1799cbf900b786153e151e0b1f471375fd32b65e
CRs-Fixed: 774533
2019-08-16 18:32:45 -07:00
Rakesh Pillai
79afaed56e qcacld-3.0: Destroy NUD tracking work only for STA mode
Currently the NUD tracking is done only for STA mode.
For all the adapters the NUD tracking work is not
created and hence should not be destroyed when the
adapter is cleaned up.

Destroy the NUD tracking work only for the STA adapter.

CRs-Fixed: 2505365
Change-Id: I677a07cb37e2d547e62b7ffebf6d014255a9d237
2019-08-16 18:32:44 -07:00
nshrivas
076a3031f9 Release 5.2.0.144K
Release 5.2.0.144K

Change-Id: I0ba188ac6f90cc4e8ff0bf9955efd491927e193d
CRs-Fixed: 774533
2019-08-16 10:48:32 -07:00
Yeshwanth Sriram Guntuka
f33e2fe57c qcacld-3.0: Add debug print for beacon report meas mode
Add debug print to indicate the measurement mode for
beacon report request.

Change-Id: I7f61cd7f058ef0dcc4db425e685974cc3f53415a
CRs-Fixed: 2507593
2019-08-16 10:48:31 -07:00
nshrivas
037d8093e7 Release 5.2.0.144J
Release 5.2.0.144J

Change-Id: I72208d5efcf08964b44864274b33777f7c61024a
CRs-Fixed: 774533
2019-08-16 08:22:42 -07:00
Chaoli Zhou
74af4177a8 qcacld-3.0: Add packet drop status
In the current wlanhost driver dump status, it doesn't
support to count the dropped packets seperately that
due to firmware don't have enough tx descriptors, so
add such function which can benefit KPI tune.

Change-Id: I1a72acbc4f1f861c2013a1ef1a95b73acccd6b53
CRs-Fixed: 2507410
2019-08-16 08:22:41 -07:00
gaurank kathpalia
69f052b95b qcacld-3.0: Avoid channel 12, 13 for SAP operation
Currently the driver selects channel 12, 13 as they are
free from BSS as their weights are minimum, which results
into IOT issues as legacy STAs do not support the same.

Fix is to avoid channel 12, 13 in SAP ACS process, and try
to start the SAP on channels from 1 - 11.

Change-Id: If735fade7d7b489b45a20f74c04bab5582343f79
CRs-Fixed: 2509791
2019-08-16 08:22:37 -07:00
Jingxiang Ge
ae80dc665c qcacld-3.0: Remove channel and rename freq in hdd_connection_info
Convert channel to freq in hdd_connection_info, so
remove unused 'channel' and rename 'freq' to 'chan_freq'.

Change-Id: I0d3fd39f9ac3c2303729b27b7c97385097c82104
CRs-Fixed: 2508791
2019-08-16 08:22:33 -07:00
nshrivas
4d09b7f83e Release 5.2.0.144I
Release 5.2.0.144I

Change-Id: I49feb1453a8f92faef735178566d6411f1ebeae3
CRs-Fixed: 774533
2019-08-16 04:13:35 -07:00
Liangwei Dong
d8ecec378d qcacld-3.0: Add INI for P2P GO force SCC
1. Add g_enable_go_force_scc INI configuration
to enable force SCC on P2P GO interface.
This option only takes effect when
gWlanMccToSccSwitchMode INI enabled.
2. Add API policy_mgr_is_go_allow_force_scc to get
the above configuration value for GO.
Driver will apply "MCC to SCC" logic to P2P GO
interface based on STA active status and the configurated
INI values.

Change-Id: I1d16368b5f2d88984b91ef0a3e882148c20dcd23
CRs-Fixed: 2509555
2019-08-16 04:13:34 -07:00
nshrivas
823c5596fd Release 5.2.0.144H
Release 5.2.0.144H

Change-Id: I5dafbd82e825ad33a51d7e42421cd0d015ddcc26
CRs-Fixed: 774533
2019-08-16 02:57:49 -07:00
Liangwei Dong
11019a0eb1 qcacld-3.0: Restart SAP when sta disconnected
In AP+STA case, if g_sta_sap_scc_on_lte_coex_chan != 0,
SAP is allowed SCC with STA on unsafe channel. And
if g_sta_sap_scc_on_dfs_chan != 0, SAP is allowed
SCC with STA on DFS channel.
But when the STA disconnected, standalone SAP is not allowed
on unsafe channel or DFS channel. We need to move
the SAP to safe channel or non DFS channel.
The original API -
policy_mgr_is_sap_restart_required_after_sta_disconnect
only handle AP+STA case. Change it to cover 3VIF
concurrency case - AP+AP+STA.

Change-Id: Iec4e750d8b3fda0cc52ac698ecaa9a274f935706
CRs-Fixed: 2509545
2019-08-16 02:57:48 -07:00
nshrivas
494b8241d7 Release 5.2.0.144G
Release 5.2.0.144G

Change-Id: I73932759bf7916e96423c4a303c2f6f13789778c
CRs-Fixed: 774533
2019-08-15 20:38:22 -07:00
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
Sourav Mohapatra
a93de1c382 qcacld-3.0: Refactor HDD according to cdp_peer_get_vdev_by_sta_id
Currently, cdp_peer_get_vdev_by_sta_id 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: Ibb7f3489899ac3fda48ad5e54891cd2d7623c6c8
CRs-Fixed: 2507219
2019-08-15 20:38:15 -07:00
Rakshith Suresh Patkar
6a8802ff1a qcacld-3.0: Cleanup ol_txrx_get_vdev_by_peer_addr[PEER_ID_PHASE1]
Rename API ol_txrx_get_vdev_by_sta_id to ol_txrx_get_vdev_by_peer_addr
and cleanup ol_txrx_get_vdev_by_peer_addr to be peer mac address based
from local peer id based.

Change-Id: Ie3b8a1d97b5196e7306e5641cb894f31b8abe154
CRs-Fixed: 2504565
2019-08-15 20:38:09 -07:00
nshrivas
f37d3bb077 Release 5.2.0.144F
Release 5.2.0.144F

Change-Id: I185dd5ee4a4edc9d82454650cea78b2de6e8665f
CRs-Fixed: 774533
2019-08-15 12:28:34 -07:00
gaurank kathpalia
b4539e1cf1 qcacld-3.0: Check vdev state before ACS cb
Currently the driver calls the pre bss scan cb
which is used to calculate the weight to start
the SAP on best channel. This API depends upon
the SAP context pointer which is passed as a arg
to the scan module, which in turn returns the arg
as part of the scan cb. But it may happen that
the SAP was deleted before the scan cb was called.
In that case pre bss scan cb and weight calculation
does not matter to the driver as SAP in any case is
OFF. Here the sap context which was passed as an arg
to the ACS cb is used after free, and there is no way
currently to validate the pointer. But as part of scan
cb, the driver gets a vdev pointer, which would be in a
logically deleted state, if the stop adapter for SAP has
been done. Using this data, the driver can know the object
status, and then decide to continue with the weight calculation.

Fix is to try get vdev ref before the weight calculation algo
kicks in, and return if the reference cannot be taken to avoid
use after free for SAP-context.

Change-Id: Ib9c3bde4a36ee49efdadab3dc531991b8688f79e
CRs-Fixed: 2509249
2019-08-15 12:28:34 -07:00
nshrivas
6c6993dee6 Release 5.2.0.144E
Release 5.2.0.144E

Change-Id: Ic31f8a34c6c2c48e9c3e88446da4a85055733eeb
CRs-Fixed: 774533
2019-08-15 01:03:16 -07:00
hqu
54e6ba12b6 qcacld-3.0: Follow concurrent SAP switch channel in the same band
When lte channel avoidance event triggered, multiple SAP will choose
safe channel from pcl/acs combination and switch to the safe channel
one by one.

Actually when force SCC mode is enabled, if one SAP is the same band
as other concurrent SAP whose channel is already safe, it doesn't
need to choose safe channel from pcl/acs again, just needs to
follow concurrent SAP channel. Add code to implement this policy.

Change-Id: Icc9b2a53bb56915daeab8d94eceaaa64a660cb65
CRs-Fixed: 2500183
2019-08-15 01:03:16 -07:00
nshrivas
618100452b Release 5.2.0.144D
Release 5.2.0.144D

Change-Id: I585f08afe7b34f0fa09754686ec3737d6cac181c
CRs-Fixed: 774533
2019-08-14 21:31:26 -07:00
Jinwei Chen
b681a483ca qcacld-3.0: Skip GRO flush indication when T-put is low
To meet 11a/b/g TCP RX T-put KPI, disable GRO flush indication
when T-put is low.

Change-Id: I2932f9161631b082f8ffacb3c24a1cf609f28d35
CRs-Fixed: 2493829
2019-08-14 21:31:25 -07:00
nshrivas
38ce3e2868 Release 5.2.0.144C
Release 5.2.0.144C

Change-Id: Ie08e39a11a426b40c090dd6cdadb6b49770f90ae
CRs-Fixed: 774533
2019-08-14 17:01:56 -07:00
Alan Chen
34250b7fe7 qcacld-3.0: Add vdev start, stop, and set-key wakelock for runtime PM
There is only vdev start, stop, and set-key wakelocks for system suspend
as of now. Add vdev start, stop, and set-key wakelocks for runtime PM
also.

Change-Id: Ic071bcfb112ae8861a446298677d190484f0c01b
CRs-Fixed: 2507852
2019-08-14 17:01:55 -07:00
nshrivas
5a56c082b3 Release 5.2.0.144B
Release 5.2.0.144B

Change-Id: Ice1173284b5fe3d800ed6ebed3d49924007cc8e0
CRs-Fixed: 774533
2019-08-14 15:43:09 -07:00
Abhishek Ambure
8c1d2a403b qcacld-3.0: Rename WLAN_SER_CMD_DEL_STA_SESSION macro
As a part of vdev manager conversion, vdev delete code is
refactored. Legacy code and naming is removed. In vdev manager
operations, STA_SESSION is addressed as VDEV.

Hence WLAN_SER_CMD_DEL_STA_SESSION macro is renamed to
WLAN_SER_CMD_VDEV_DELETE.

Change-Id: I34b0a34191bef1f279582178f25b9b20b33e709e
CRs-Fixed: 2508150
2019-08-14 15:43:08 -07:00
Pragaspathi Thilagaraj
af84059e8d qcacld-3.0: Add NULL pointer validation on pmkid received
In wlan_hdd_extauth_copy_pmkid(), pmkid received from userspace
could be NULL. Currently there is no validation for the PMKID.

Add check to validate the received PMKID before copy.

Change-Id: I756458562bf20226a202a5ecdbbe9e79884169c7
CRs-Fixed: 2508935
2019-08-14 15:43:02 -07:00
nshrivas
29bfc8af7a Release 5.2.0.144A
Release 5.2.0.144A

Change-Id: Ibe9aa3c13d4a355e758dff462b13f5fb3f866b68
CRs-Fixed: 774533
2019-08-14 14:30:08 -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
nshrivas
58b66f1959 Release 5.2.0.144
Release 5.2.0.144

Change-Id: I8ed1ee642fca693b12d49d6d0d7d04e23b493b81
CRs-Fixed: 774533
2019-08-14 05:42:42 -07:00
gaurank kathpalia
7ca94aead5 qcacld-3.0: Retain channel info from hostapd
Currently the driver modifies the channel list
which came from hostapd in trim channel list API
in case of concurrency present.
This would in turn prevent SAP to change channel
to a safe channel whenever a LTE-COEX event comes
as the acs channel list would contain only one channel
that would be the SAP channel itself.

Fix is to retain the info of channels which came from
the hostapd, and use this info to restart he SAP.

Change-Id: I9d43930d78f1eaedb01139a9ddc319b610d21862
CRs-Fixed: 2501400
2019-08-14 05:42:41 -07:00
nshrivas
dae6817208 Release 5.2.0.143Z
Release 5.2.0.143Z

Change-Id: I8b374729c4c7986d8b79cd792759a646f3a5fd5d
CRs-Fixed: 774533
2019-08-13 20:26:03 -07:00
Mohit Khanna
b9d7e4e20a qcacld-3.0: Reduce high throughput detection level
Currently the API hdd_is_current_high_throughput considers any
throughput level higher(or equal) than PLD_BUS_WIDTH_HIGH as high
throughput level. Based on this level, driver decides to take up RX
wakelock and log certain stats(TDLS). This can have an impact on power
even in HT20 modes.

Reduce the high throughput detection level to PLD_BUS_WIDTH_MEDIUM. So
throughput >= 60Mbps is considered high by the API.

Change-Id: I2225edc55568facf4b74a389b4a0a53845ea14ae
CRs-Fixed: 2495719
2019-08-13 20:26:02 -07:00
Mohit Khanna
ba8b3fe3a8 qcacld-3.0: Use different wait queues for threads
Currently DP RX threads are using the same wait_q for all operations.
The problem with this is that when there is traffic for only one
threads, we end up waking up other threads as well moementarily.
This wastes power and is in-efficient.

Use different wait queues for different threads.

CRs-Fixed: 2495719
Change-Id: I689659b7aa0ab93b7e2f009d2dc7fe741b66ee78
2019-08-13 20:25:57 -07:00
nshrivas
bced046373 Release 5.2.0.143Y
Release 5.2.0.143Y

Change-Id: I76b256662a14c5e1a2a735a967fe4f7867f71c7c
CRs-Fixed: 774533
2019-08-13 16:23:28 -07:00
Mohit Khanna
f0620ce6ca qcacld-3.0: Add support for GRO flush indications
Add support for sending GRO flush indication to DP Rx Thread.

CRs-Fixed: 2495719
Change-Id: I8723dc696d8af705067a50dcf5f161ef4f28d485
2019-08-13 16:23:28 -07:00
Alan Chen
6a5eb9339c qcacld-3.0: Clear recovery flag after idle restart
Clear recovery flag after idle restart such that next time wifi can
turn on properly.

Change-Id: I7063a9edd08334a84068f88c0564dd4f2aabf666
CRs-Fixed: 2507899
2019-08-13 16:23:22 -07:00
nshrivas
bb673cfc19 Release 5.2.0.143X
Release 5.2.0.143X

Change-Id: If759d941bbb1ceecdab95f5be503cbe4198f3b4c
CRs-Fixed: 774533
2019-08-13 11:01:31 -07:00
Abhishek Ambure
93bb96104d qcacld-3.0: Add SERIALIZE_VDEV_RESP_TIMER in Kbuild
SERIALIZE_VDEV_RESP_TIMER macro enables target_if common code for
vdev response timer callback handlers.

Change-Id: Ic1f647a99a0c90f2492bdb0c9d2d525fabb6d86a
CRs-Fixed: 2507526
2019-08-13 11:01:31 -07:00
nshrivas
a2c8314f12 Release 5.2.0.143W
Release 5.2.0.143W

Change-Id: Iada1494b96f33a02f4c834ce68349d1adaec3b96
CRs-Fixed: 774533
2019-08-13 07:33:11 -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
gaurank kathpalia
620027937f qcacld-3.0: Select default channel is no scan results present
Currently if the driver does not find any scan results
in the ACS scan, it selects a best channel as the PCl
channel by filtering the PCl list based upon the start
and end channel, which may not be correct everytime
as start and end channel does not specify the channels
to be selected.

Fix is to select a default operating channel from the
acs list itself, if no scan results are present.

Change-Id: I9a76957087b9349da66545e0fcaede2355f732cd
CRs-Fixed: 2504796
2019-08-13 07:33:05 -07:00
Ajit Pal Singh
9a0705e818 qcacld-3.0: HL: Iterate over txqs of a selected category
When CONFIG_FEATURE_HL_GROUP_CREDIT_FLOW_CONTROL is enabled each group
has its own credit limit.
It may happen that when the High Latency TX Scheduler selects a category
the txq at the head may belong to a group which has credits less than the
"credit_reserve" of that group. In this case the scheduler will return
without downloading any frames although the other group may have credits
and also frames to be downloaded.
The scheduler will be called again if there is a credit update from FW or a
packet arrives from network stack and the next txq will be picked up which
belongs to the group which has sufficient credits.

It is seen that sometimes there is no credit update from FW (since the
host has sufficient credits) and the network stack also does not
transmits packet since it has already queued packets in driver's queue.
In such case the scheduler is not called and throughput drop to zero is
seen although there are enough credits on host.

To avoid such a situation, in case scheduler is unable to download
packets from a txq since its group does not have enough credits, iterate
over to the next txq in the chosen category and download its packets.
Exit from the schduler is case able to download from any txq OR not able
to download from any txq.

Change-Id: I6143d5c3aa40761d1997846896e5e77435252b26
CRs-Fixed: 2485819
2019-08-13 07:33:01 -07:00
gaurank kathpalia
c99859b8cb qcacld-3.0: Convert channel to freq in vdev start structure
Convert channel to freq in vdev start structure to
avoid duplicate channel numbers in 6ghz, and 2.4ghz
operation.

Change-Id: Ie78d93a34d1d558b9c94fc8a54aa95ee07bda55e
CRs-Fixed: 2508040
2019-08-13 07:32:57 -07:00
nshrivas
839520b0cc Release 5.2.0.143V
Release 5.2.0.143V

Change-Id: Iabf51fc2fcd1234dabea4f21b54772479aec063e
CRs-Fixed: 774533
2019-08-13 04:17:19 -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