Commit Graph

20467 Commits

Author SHA1 Message Date
Ashish Kumar Dhanotiya
28c271caa5 qcacld-3.0: Enable CONN_MGR_ADV_FEATURE by default
Add a change to enable CONN_MGR_ADV_FEATURE feature by default.

Change-Id: I72770eb9384e20fdb3f72991eb036aeea5148a08
CRs-Fixed: 2758659
2020-08-20 23:08:02 -07:00
Rakesh Pillai
98665d1bfa qcacld-3.0: Add history to track the adapter ops events
Add a history to track the adapter ops events. The
events currently recorded are the work post and the
work schedule.

Change-Id: I149cd81ac9f0a3d6dab79b133fd7324a18b5e541
CRs-Fixed: 2735636
2020-08-20 23:07:58 -07:00
Rakesh Pillai
64b80de92f qcacld-3.0: Add high priority work to update netdev features
In certain special scenarios, we need to update the
netdev features of a particular adapter eg: enabling or
disabling tso or hardware checksum incase of legacy clients.

Such an update of the netdev features is to be done only
after the connection, since the connection mode plays an
important role in identifying the features which are to be
updated.

The netdev features can be updated only while holding the
rtnl lock. Also taking into account that the protocol layer,
where we get the idea of the mode of connection, is under its
own locks, updating the netdev features while holding rtnl lock
can often lead to deadlock.

Hence to mitigate the above mentioned deadlock issue, we always
queue a high-priority work to update the netdev features for
every adapter. The need for high-priority work arises from the need
to maintain the roaming KPIs.

Change-Id: Ie9218b08931dea099c6194efa7434d888b849e8d
CRs-Fixed: 2735636
2020-08-20 23:07:54 -07:00
Manjunathappa Prakash
ef666adfcf qcacld-3.0: Add capability to disable checksum for legacy links
Due to latency concerns on GEN1 PCIe attach checksum offload and TSO
features cannot be enabled for 802.11A/B/G legacy mode connections.
So add INI option to dynamically disable/enable checksum offload and TSO
based on the connection type.
Use netdev_update_features kernel API to adjust the netdev features
dynamically for existing registered netdev.

change-id: I0e44cb1789516e1bcee619be3581d826f45f265b
CRs-Fixed: 2732090
2020-08-20 23:07:50 -07:00
snandini
6146f6409d Release 5.2.0.199D
Release 5.2.0.199D

Change-Id: Ic435d33f30891de3c1bc0433d3afedde710b2726
CRs-Fixed: 774533
2020-08-20 15:42:08 -07:00
Abdul Muqtadeer Ahmed
ca927cfcd7 qcacld-3.0: Add INI param to enable/disable ILP HW block
ILP is a new hardware block which is used for PCIe powersave but
this can effect the throughput.

So to isolate the throughput issues, add ini param to
enable/disable this ILP hardware block using the ini configuration.

Change-Id: I19825af8598bbc2623542256e873367c2f3d29bd
CRs-Fixed: 2756587
2020-08-20 15:42:08 -07:00
hqu
f996a7c696 qcacld-3.0: Move rso related process to connection manager [PART 7]
Add new code to implement below functions for connection manager
roam part:
Filling below WMI cmd parameters related process:
WMI_ROAM_CONFIGURE_MAWC_CMDID
WMI_ROAM_BSS_LOAD_CONFIG_CMDID

Rename file wlan_cm_roam_public_srtuct.h name to
wlan_cm_roam_public_struct.h

Change-Id: I64d54bb78b71dadc49d119b9083658347cc4f807
CRs-Fixed: 2758130
2020-08-20 15:42:04 -07:00
snandini
2ec27b6169 Release 5.2.0.199C
Release 5.2.0.199C

Change-Id: I7499f2d2784ef7dc405fd19a771419974c8c32cb
CRs-Fixed: 774533
2020-08-20 10:07:17 -07:00
Alok Kumar
8504feaebf qcacld-3.0: Get vdev using API dp_vdev_get_ref_by_id
To get the VDEV use API dp_vdev_get_ref_by_id instead of
dp_get_vdev_from_soc_vdev_id_wifi3.

Change-Id: I7d764df517baab0ab92f20e9b8ecaaedd3b44ecd
CRs-Fixed: 2753830
2020-08-20 10:07:17 -07:00
Yu Wang
26ce844a25 qcacld-3.0: skip sap context destroy if it's NULL
The sap context is NULL when sap adapter is not started, skip
context destroy for such case, to avoid error level output.

CRs-Fixed: 2749376
Change-Id: I190a3e75187be6b6d70f5a70c71c87e563cd3f15
2020-08-20 10:07:11 -07:00
snandini
68a0b74791 Release 5.2.0.199B
Release 5.2.0.199B

Change-Id: I9ced9053efda06a9cf6d0e292bdf2c80f465e61f
CRs-Fixed: 774533
2020-08-18 20:14:43 -07:00
Yu Tian
d9280a5dc5 qcacld-3.0: Change feature flag name
Change feature flag name due to address alignment is
required from HW design perspective

Change-Id: Ia80b6371f50db144336aeaaf2db2ecdc77ac0380
CRs-Fixed: 2748507
2020-08-18 20:14:43 -07:00
snandini
296d7d532f Release 5.2.0.199A
Release 5.2.0.199A

Change-Id: Id6bdc42852a8ba555ff518d7508a49ed92f1a1fe
CRs-Fixed: 774533
2020-08-18 11:00:53 -07:00
gaurank kathpalia
9934f81008 qcacld-3.0: Ensure proper seg0 seg1 bandwidth values
Some APs advertise wrong seg0, seg1, and BW values
and the driver copies that info directly and sets it
to the FW, which can lead to a crash in HAL layers
due to the wrong configuration.

Fix is to ensure that only correct combination
allowed by regulatory can be passed onto the FW
in the vdev start command.

Change-Id: I452438f385d6f067812551071b2ea87b99b9eb01
CRs-Fixed: 2698732
2020-08-18 11:00:52 -07:00
snandini
56e7f5ce6a Release 5.2.0.199
Release 5.2.0.199

Change-Id: Id4251c79a0538e7e96a612e8f411b6ec96719254
CRs-Fixed: 774533
2020-08-18 05:44:20 -07:00
Jianmin Zhu
0c14affc10 qcacld-3.0: Enable scatter gather feature for Rome
Enable the scatter gather feature for Rome to improve
the TCP TX throughput.

Change-Id: I650b91e36b8ad1c730c9214c0e3613f32dd3ad76
CRs-Fixed: 2741133
2020-08-18 05:44:20 -07:00
snandini
3bfb441145 Release 5.2.0.198Z
Release 5.2.0.198Z

Change-Id: I8cd421dc6b0efe49733f406a0fd11f8f59e2ca76
CRs-Fixed: 774533
2020-08-17 22:02:23 -07:00
Kiran Kumar Lokere
e8b23d5cdd qcacld-3.0: Possible mem corruption while processing BCN RPT Req
The beacon report logic has the maximum 7 reports to include in
one measurement report frame. Update the no.of reports value
in the frame packing structure to pack 7 reports in one frame.

Change-Id: I92b33f024274765e0f8cf1386197a9dba05b4bab
CRs-Fixed: 2755806
2020-08-17 22:02:23 -07:00
snandini
4e2f534863 Release 5.2.0.198Y
Release 5.2.0.198Y

Change-Id: Ic1c451d8e03ad9f3cf539fb8d4b10bf96d535350
CRs-Fixed: 774533
2020-08-17 19:59:10 -07:00
Amar Singhal
f8517e79e7 qcacld-3.0: Replace dfs utils call
Replace with dfs utils call utils_dfs_get_vdev_random_channel with
utils_dfs_get_vdev_random_channel_for_freq. We are replacing
channel numbers with frequency.

Change-Id: I0244512f83f45ef7974e39016832784b804286b7
CRs-Fixed: 2753219
2020-08-17 19:59:10 -07:00
Lincoln Tran
747bc9c58f qcacld-3.0: Add function typedefs for roam callbacks
Add function typedefs for csr_roam_synch_cb, pe_roam_synch_cb,
stop_roaming_cb, and csr_roam_pmkid_req_cb. Update all usage
of the callbacks to use the new typedef. This will prevent
possible CFI errors.

Change-Id: I9f5c6753098d83657ae66be4ed56a9a67b072bad
CRs-fixed: 2747058
2020-08-17 19:59:06 -07:00
snandini
f5ce9636be Release 5.2.0.198X
Release 5.2.0.198X

Change-Id: I25783a40aee992569221b3de01d04f8c34f9e4ad
CRs-Fixed: 774533
2020-08-17 15:12:09 -07:00
Lincoln Tran
eb083f3346 qcacld-3.0: Add logic to check if channel is disabled
Currently, when the country code changes, there is no logic
to restart the SAP on a new channel. Add a case to check if
the channel is not allowed, then calculate a new safe channel
and update the SAP restart reason.

Change-Id: I679ce6f72228b431530953a631c8c8afa4597187
CRs-fixed: 2718324
2020-08-17 15:12:09 -07:00
snandini
9ca991a4d9 Release 5.2.0.198W
Release 5.2.0.198W

Change-Id: I4f42a27169e3e4acb4665cc7b0c21ca60c1100ae
CRs-Fixed: 774533
2020-08-17 05:33:34 -07:00
Arun Kumar Khandavalli
13fafa90a0 qcacld-3.0: Enable the Hangevent for mainline
Enable hang event for the mainline targets.

Change-Id: I7249c2d89d8c87cf000670bf053f82429857f190
CRs-Fixed: 2743829
2020-08-17 05:33:33 -07:00
snandini
4e2a24c5fa Release 5.2.0.198V
Release 5.2.0.198V

Change-Id: Ic6fd42cc09d1380941f5a3f578d1581f09c007f0
CRs-Fixed: 774533
2020-08-17 01:14:03 -07:00
Wu Gao
1f1d0c9560 qcacld-3.0: Teardown TDLS link if TDLS disallows scan
DUT doesn't teardown TDLS link if set gEnableTDLSScan = 0 just as
previous branch. This change will teaddown TDLS link if set
gEnableTDLSScan = 0 and disallow scan.

Change-Id: I287f3ec200c05ed6e7bc1d2887f659ab8ccc90fa
CRs-Fixed: 2749536
2020-08-17 01:14:03 -07:00
Min Liu
57c9424490 qcacld-3.0: Add vendor command to get sta info
Add subcmd QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO and related attributes.

Change-Id: I2bd90d90666b95902dc0821d762adbc5c5e675c6
CRs-fixed: 2592863
2020-08-17 01:13:58 -07:00
snandini
3787826aed Release 5.2.0.198U
Release 5.2.0.198U

Change-Id: I6b8ca1cd1edbea6c42f58e1f0e4b53b5058a28d7
CRs-Fixed: 774533
2020-08-16 23:06:58 -07:00
Min Liu
212cf2a73a qcacld-3.0: Update get_station callback for SAP mode
Add more information in get_station callback for SAP mode.

Change-Id: I726561234d1befe0cd20143b351361adbc1b0403
CRs-Fixed: 2592183
2020-08-16 23:06:58 -07:00
snandini
94ec98380b Release 5.2.0.198T
Release 5.2.0.198T

Change-Id: I2b460b11bbca844c06bf2c2a75e8a2fa317fb7bc
CRs-Fixed: 774533
2020-08-16 12:58:04 -07:00
Bapiraju Alla
fb06fd042e qcacld-3.0: Abort scan before sending vdev delete to FW
Currently in P2P GO mode, hdd is not waiting for existing scan
requests to complete before sending vdev delete. This is causing
issue in firmware.

To avoid this, abort ongoing scan requests before sending vdev
delete to the firmware.

Change-Id: I275d903c53ef01bc4c4c5be692b78b36288f4a06
CRs-Fixed: 2755340
2020-08-16 12:58:04 -07:00
snandini
2abf684886 Release 5.2.0.198S
Release 5.2.0.198S

Change-Id: I29add08f492b89d9ae01a73cd429274386dae621
CRs-Fixed: 774533
2020-08-15 22:58:52 -07:00
Jianmin Zhu
e33d286340 qcacld-3.0: Fix channel avoid failure for CONFIG_CNSS_UTILS disabled
Many platforms doesn't enabled CONFIG_CNSS_UTILS,
while pld_set_wlan_unsafe_channel depends on it,
pld_set_wlan_unsafe_channel and pld_get_wlan_unsafe_channel need return 0
instead of -EINVAL, or have side effect on channel avoid feature.

Change-Id: I0967d754314d6fb7f8a289ada3bbcbae2c8b3b5e
CRs-Fixed: 2752409
2020-08-15 22:58:52 -07:00
snandini
95c6545926 Release 5.2.0.198R
Release 5.2.0.198R

Change-Id: I6dda9fd7bae37c68b6ef4741f3dc62fd8827aa61
CRs-Fixed: 774533
2020-08-15 21:03:37 -07:00
Yeshwanth Sriram Guntuka
3ff2bafe8e qcacld-3.0: Avoid possible NULL soc context dereference
Soc context fetched in hdd_rx_check_qdisc_for_adapter
is not NULL validated before passing it to other APIs.

Fix is to add NULL check for soc context in
hdd_rx_check_qdisc_for_adapter.

Change-Id: Ib6a660307009e55c54eb4b3747a8efab8e370241
CRs-Fixed: 3264121
2020-08-15 21:03:36 -07:00
snandini
65351084ba Release 5.2.0.198Q
Release 5.2.0.198Q

Change-Id: I64efac13e09643def4a8b5782bdb727adab9a393
CRs-Fixed: 774533
2020-08-15 15:01:30 -07:00
Pragaspathi Thilagaraj
44a6907b34 qcacld-3.0: Fix peer unmap failure due to invalid roam scan mode value
When supplicant disables firmware roam, RSO stop command with
roam scan mode value 4 is sent to firmware and this value 4
indicates the firmare to enable only Forced roam trigger(roam
invoke command from host). But before
ROAM_DEINIT(WMI_VDEV_PARAM_ROAM_FW_OFFLOAD with value zero) is
posted to firmware, the roam scan mode should be 0 or else there
could be potential peer unmap failures if firmware has already
started roam and disconnect is triggered from north bound or from
peer.

To avoid this, in the roam offload state machine handle the state
switch from RSO stopped to deinit if supplicant disabled roaming
flag is set and send RSO stop with roam scan mode value 0 to
firmware.

Change-Id: If50a306b6019320ddab2ac1695a57718d27f477a
CRs-Fixed: 2755948
2020-08-15 15:01:29 -07:00
snandini
b948d97693 Release 5.2.0.198P
Release 5.2.0.198P

Change-Id: I1440caee2c0bc1b5cdca2a5e5e905cd90aeef44b
CRs-Fixed: 774533
2020-08-15 09:10:53 -07:00
Liangwei Dong
e5d49f68a6 qcacld-3.0: Set WMI_ROAM_SCAN_MODE_ROAMOFFLOAD for supplicant disabled RSO
In MBO 5.2.6 Test, the sigma dut will disable roaming by supplicant
and invoke roaming by "WMI_ROAM_INVOKE_CMDID" to FT roam to new AP.
Revert the previous change Ia471998cf631948d8ffa701e67fcee22eebb0fa0
to not set roaming mode to WMI_ROAM_SCAN_MODE_NONE for supplicant
disabled roaming because Firmware will not support force roaming by
"WMI_ROAM_INVOKE_CMDID" command in roam mode WMI_ROAM_SCAN_MODE_NONE.
The original issue of above change will be fixed in
If50a306b6019320ddab2ac1695a57718d27f477a.

Change-Id: I30e6405895bfa236a71f8f8d8fe3b7b933f40412
CRs-Fixed: 2755801
2020-08-15 09:10:52 -07:00
snandini
701b1c4c01 Release 5.2.0.198O
Release 5.2.0.198O

Change-Id: I9ac6ffbadad99891d7b17864afa682ed8d9ca8cb
CRs-Fixed: 774533
2020-08-15 03:29:35 -07:00
Utkarsh Bhatnagar
38881687d6 qcacld-3.0: Replace wlan_reg_is_passive_or_disable_ch with freq API
As driver already have frequency API use
wlan_reg_is_passive_or_disable_for_freq instead of converting
freq to channel and calling the channel API
wlan_reg_is_passive_or_disable_ch.

Change-Id: Ib6a9c4c1016911ff7a9598cbfd14797e305c75f3
CRs-Fixed: 2753825
2020-08-15 03:29:35 -07:00
snandini
3d564c68d4 Release 5.2.0.198N
Release 5.2.0.198N

Change-Id: I823f083472833dcdc4381e3f2c3b927366b63d67
CRs-Fixed: 774533
2020-08-14 21:06:24 -07:00
Jinwei Chen
ceb1dc9f8d qcacld-3.0: fix invalid accessing to freed in_ifaddr
The in_ifaddr in in_dev->ifa_list which stores IP info is freed
maybe due to lifetime hit/wlan interface re-connect, etc. In
the meantime, lot ARP request frame is pending in DP RX thread and
still try to do local ARP check in function hdd_is_arp_local(),
this function will go through in_dev->ifa_list but no lock
protection, use after free happened due to race condition.
Add lock protection in hdd_is_arp_local().

Change-Id: Iaa97d445d3c4c0b79b5b9f63362df2601f62af5b
CRs-Fixed: 2751469
2020-08-14 21:06:24 -07:00
Kiran Kumar Lokere
2b554b7d21 qcacld-3.0: Fix TWT request command type values
Convert the TWT request type command to WMI TWT request type
value to configure it to FW.

Change-Id: I6bd550ec9a6cf971e3d8fc5df596f2ea521d9636
CRs-Fixed: 2750153
2020-08-14 21:06:20 -07:00
snandini
5619f9c602 Release 5.2.0.198M
Release 5.2.0.198M

Change-Id: I41d86a3e1c888acb689f5426d2aa302d61f80bdf
CRs-Fixed: 774533
2020-08-14 14:44:08 -07:00
Utkarsh Bhatnagar
b9e93fa1ed qcacld-3.0: Get country code using wlan_reg_read_current_country
In lim_handle_csa_offload_msg(), mac->scan.countryCodeCurrent is
passed in regulatory API wlan_reg_dmn_get_chanwidth_from_opclass
to get the opclass. mac_ctx->scan.countryCodeCurrent is no more
updated after the regulatory componentization so get country
using wlan_reg_read_current_country() instead of it.

Change-Id: Ic56e4bf33784fa5f64aedd431ebe41275a7666b2
CRs-Fixed: 2742068
2020-08-14 14:44:08 -07:00
Utkarsh Bhatnagar
6619e25cb6 qcacld-3.0: Fix the channel switch to 2.4Ghz after pre-cac
In case of pre-cac as part of pre-cac vdev delete the whole
mac_ctx->sap is zero in sap_clear_global_dfs_param() and thus the
loop for mac_ctx->sap.sapCtxList always return null sap ctx. Due
to this if radar is dedected on the original SAP, the vdev switch
to new channel is ignored.

Also in case of radar detection if SAP moves to 2.4ghz, the HW mode
change is not attempted and thus vdev restart fails on 2.4ghz if HW
mode is not DBS.

Thus dont reset the mac_ctx->sap in sap_clear_global_dfs_param() and
add check if HW mode change is required when channel change due to
Radar detection.

Change-Id: Id44a0ddbbb20035412b0c039c12f7f59f2c37f1a
CRs-Fixed: 2753029
2020-08-14 14:44:04 -07:00
snandini
d271551082 Release 5.2.0.198L
Release 5.2.0.198L

Change-Id: Ia02145aa76b6b3677897cc67d4041812ca41aa83
CRs-Fixed: 774533
2020-08-14 12:34:39 -07:00
Manjunathappa Prakash
5bf1513217 qcacld-3.0: Override EAPOL BC Tx frame with AP mac addr
Take care to update the EAPOL Tx frame DA with AP mac addr if
DA is broadcast address as EAPOL BC doesnot make sense.

Change-Id: Id58b7b7971f5a7c11de0b46c6189a6e6ad1917ab
CRs-Fixed: 2745826
2020-08-14 12:34:39 -07:00