Commit Graph

20428 Commits

Author SHA1 Message Date
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
snandini
ee2f128578 Release 5.2.0.198K
Release 5.2.0.198K

Change-Id: I6908b51740117b73f2c83d5c98b097d882d5ca20
CRs-Fixed: 774533
2020-08-14 10:22:53 -07:00
Jinwei Chen
f822e151ff qcacld-3.0: Hanlde RX_VDE_DEL_EVENT in dp thread properly
Scenario:
(1) vdev0 is running RX traffic, vdev2 is doing vdev detach, vdev2
will send RX_VDEV_DEL_EVENT to dp thread, but if dp thread is slow
to process thread queue frame in dp_rx_thread_process_nbufq(),
like if Kasan is enabled. RX_VDEV_DEL_EVENT will be delayed and
vdev2 corresbonding stack queue frame can not be flushed
before net_dev is freed, later will hit panic.
(2) vdev2 detach set rx_thread->vdev_del_event but not be
cleared due to qdf_wait_single_event() timeout, later vdev2
attach/detach again, this time as rx_thread->vdev_del_event
is not cleared so it will skip waiting dp thread, vdev2 realted
net_dev freed before dp thread do napi_gro_flush.

solution:
(1) reset rx_thread->vdev_del_event before wait this event.
(2) Increase DP_RX_THREAD_WAIT_TIMEOUT to 1000 ms.

Change-Id: Ibc1d761be3588fc3ee6c383b8779f56b2c9f17cd
CRs-Fixed: 2736887
2020-08-14 10:22:52 -07:00
Utkarsh Bhatnagar
786d8601d5 qcacld-3.0: Optimize peer phymode update after vdev restart
Update only if new and old phymode are not same.

Change-Id: I6015294cda789e817b1e9f9d60ebe1504b5fa161
CRs-Fixed: 2755394
2020-08-14 10:22:48 -07:00
snandini
50b2087590 Release 5.2.0.198J
Release 5.2.0.198J

Change-Id: I2160a50b3b1fdfdff19f5ddb35bc5553c3b51014
CRs-Fixed: 774533
2020-08-14 08:12:46 -07:00
Bapiraju Alla
7eea221bec qcacld-3.0: Trigger self recovery for vdev delete response timeout
When vdev response timeout happens from the firmware, vdev will
be logically deleted in the host and peer won't be deleted in
host and firmware. To catch these scenarios early on stages,
trigger self recovery when vdev delete response timeout happens.

Change-Id: I63d7b8aa315ba0b6a0e4bab60c2db535d99285ba
CRs-Fixed: 2754602
2020-08-14 08:12:45 -07:00
Liangwei Dong
f1bbb413e4 qcacld-3.0: Fix 160Mhz SAP channel switch failure
For channel switch event, the kernel expects the
center_freq1 contains the channel center frequency
of 160MHz. Use the the mhz_freq_seg1 of chan parameter
to fill the kernel struct.

Change-Id: I4ad7cb2a0a1f93f324b9afb63493888984006194
CRs-Fixed: 2744698
2020-08-14 08:12:41 -07:00
snandini
c3c572d172 Release 5.2.0.198I
Release 5.2.0.198I

Change-Id: Icdc1d65eb0a2794e5ab7a01f6a4f939fcb85f1c8
CRs-Fixed: 774533
2020-08-14 04:12:15 -07:00
hqu
75feb60ade qcacld-3.0: Move rso related process to connection manager [PART 6]
Add new code to implement below functions for connection manager
roam part:
And below two RSO command related process:
ROAM_SCAN_OFFLOAD_STOP
ROAM_SCAN_OFFLOAD_UPDATE_CFG

Change-Id: I378b969ddae77fff49ad1d4d8ce21764b292e5ac
CRs-Fixed: 2753011
2020-08-14 04:12:14 -07:00
Min Liu
f7d6bc2675 qcacld-3.0: Move get_peer_info into cp_stats component
Move WMI_REQUEST_PEER_STATS_INFO_CMDID related statistics into
cp_stats component.

Change-Id: I636221b0bc0e28180c97cd269440a7c733716a1d
CRs-Fixed: 2680618
2020-08-14 04:12:10 -07:00
snandini
2600ecf4bc Release 5.2.0.198H
Release 5.2.0.198H

Change-Id: Ifdb1f8be88dbeae7ac6024f20b7bc30e8c14c6d0
CRs-Fixed: 774533
2020-08-14 02:03:17 -07:00
Min Liu
dd14aa897d qcacld-3.0: Possible OOB read when parsing QoSMapSet IE
Fix possible OOB read when converting QoSMapSet IE into
some SME structure.

Change-Id: I723f54f313339a0063de3f1409f7de250ae159d5
CRs-Fixed: 2751833
2020-08-14 02:03:17 -07:00
Min Liu
10f8bfae30 qcacld-3.0: Possible OOB read/write in cds_hang_event_notifier_call
Fix the possible OOB read/write in cds_hang_event_notifier_call.

Change-Id: I43e7012d14825c89f6e022e8ffe19e57d606fe79
CRs-Fixed: 2751718
2020-08-14 02:03:14 -07:00
Arun Kumar Khandavalli
16d9ba73d0 qcacld-3.0: Correct the tlv length of the hangdata
The Tlv of the hang data is reduced to 2bytes from the 4bytes
change the structure definitions accordingly.

Change-Id: Ic535a7b985d028076d14afebe603dfa3fd8e94d3
CRs-Fixed: 2753804
2020-08-14 02:03:10 -07:00
nakul kachhwaha
580726ef14 qcacld-3.0: Initialize local variable before use
Un-initialized use of boolean variable 'is_host_pdev_id'
of struct pdev_params is causing wrong remapping of pdev_id
before passing it down to fw with WMI_PDEV_SET_PARAM_CMDID
resulting in unexpected behavior in fw.
Fixing this by initializing pdev_param, instance of struct
pdev_params to zero.

Change-Id: I2e6333c966d602cd4dcc72749dca23a48097028a
CRs-Fixed: 2747575
2020-08-14 02:03:06 -07:00
Arun Kumar Khandavalli
57f9f1d78c qcacld-3.0: Trim the hang data size as per requirement
Trim the hang data as per the customer data size requirement.

Change-Id: I5a5d848f820ddeaa721dba176e67dba97fed7a71
CRs-Fixed: 2751261
2020-08-14 02:03:03 -07:00
snandini
57e47e5c83 Release 5.2.0.198G
Release 5.2.0.198G

Change-Id: Ic29f00d57f90fca16ad60ef33d98c181f4b02510
CRs-Fixed: 774533
2020-08-13 17:12:35 -07:00
Kiran Kumar Lokere
b6f1e5565b qcacld-3.0: Fix Punctured preamble Rx HE capabilty setting
Update the Punctured Preamble Rx support only from 5G band device
capabilities.

Change-Id: I5bd357a66abb5429d8bf059660bd53864b4f1956
CRs-Fixed: 2749061
2020-08-13 17:12:35 -07:00
snandini
bde3ba778f Release 5.2.0.198F
Release 5.2.0.198F

Change-Id: Ic84225c975c2217fbb6b749349742bd10fc7041a
CRs-Fixed: 774533
2020-08-13 12:42:53 -07:00
Srikanth Marepalli
b3a17c8661 qcacld-3.0: Fix Mem leak during GTK/IGTK rekey in FT-SuiteB roam
In commit I5aa50145fcd3ba91b1c92d4817b7f0e4fc216e3f for FT-SuiteB
case Memory is allocated for GTK/IGTK in wlan_parse_ftie_sha384
while parsing the FTIE in Assoc/Reassoc response but it is not
freed properly.
This change does the respective mem free wherever required.

Change-Id: I59ccdd234efd2ee693b05426e62d3c2422fb5326
CRs-Fixed: 2747641
2020-08-13 12:42:53 -07:00
snandini
0099b427ea Release 5.2.0.198E
Release 5.2.0.198E

Change-Id: Ic4d377bfa65fb505cdecc531c6ecec15dbbbc1c5
CRs-Fixed: 774533
2020-08-13 10:32:51 -07:00
Bapiraju Alla
6db75ce3c9 qcacld-3.0: Purge shutdown notifier before modules close
Currently, shutdown notifiers are purged after closing WMA and
PE modules. If there is an SSR in between these modules close
and purging the shutdown notifiers, SSR sequence will try to
access the timers that are already freed in modules close.

To avoid this, purge shutdown notifiers before closing WMA and
PE modules.

Change-Id: I6a192b11d0f99c93c70bd244072bec353327d843
CRs-Fixed: 2745954
2020-08-13 10:32:51 -07:00
Pragaspathi Thilagaraj
f890d08086 qcacld-3.0: Replace FILS lim APIs with crypto APIs for rIK creation
Move the lim_default_hmac_sha256_kdf() & lim_create_fils_rik()
API to crypto component since both these API are primarily for
cryptographic derivation of re-authentication integrity key(rIK)

Use the new crypto APIs qdf_default_hmac_sha256_kdf(),
wlan_crypto_create_fils_rik() for this.

Change-Id: I22c20b13f46c13a34a2c4fd2ea7490f9a1441d21
CRs-Fixed: 2752632
2020-08-13 10:32:46 -07:00
Yu Tian
914dee63f1 qcacld-3.0: Fix static code analysis issues in DP
arg is reference before null check, move below

Change-Id: I5d815647b3968f93e2a86871711eb13f29cbd2f3
CRs-Fixed: 2752441
2020-08-13 10:32:42 -07:00
snandini
dfcf932953 Release 5.2.0.198D
Release 5.2.0.198D

Change-Id: Ibee9d51947638ff3e365aaabe5e2311d67c00d00
CRs-Fixed: 774533
2020-08-13 08:22:20 -07:00
Alan Chen
4b891d1d30 qcacld-3.0: Return -EAGAIN for idle shutdown if rmmod is in progress
If rmmod is in progress, return -EAGAIN for idle shutdown such that
cnss driver does not power off the soc and rmmod can succeed.

Change-Id: I91845da41bb666792a55aa3d446058025ce0fadb
CRs-Fixed: 2751194
2020-08-13 08:22:20 -07:00
snandini
649f778e0c Release 5.2.0.198C
Release 5.2.0.198C

Change-Id: I60fe269ebc2e0694c79eeec63ad82e1646fd5ca4
CRs-Fixed: 774533
2020-08-13 06:13:27 -07:00
Arun Kumar Khandavalli
3e966cc868 qcacld-3.0: Disable the scheduler thread in the init error path
During the module initialization the scheduler thread and the
init thread run in parallel if there is a failure in the error
path, the scheduler thread is not aware and still sending
the messages to firmware resulting in system instability.

Disable the scheduler as soon as there is an error in the init path.

Change-Id: I50546a84cbfed86a0bdd6e4e38ede411f4e924d2
CRs-Fixed: 2742025
2020-08-13 06:13:27 -07:00
Vevek Venkatesan
fedc5e32b8 qcacld-3.0: fix IPA stats set_quota failure
Fixing the failure of set_quota feature for IPA stats,
currently calling set_quota during resource_loading, but
it is supposed to be called if resource_loading is false.
This is causing IPA stats set_quota feature is getting
failed for Adrestea targets and fixing the same.

Change-Id: I95ad60a8e15f4faaea34093785422ad494ee1fb4
CRs-Fixed: 2730655
2020-08-13 06:13:23 -07:00
Alan Chen
38888ae732 qcacld-3.0: Add a sysfs replacement for dl_mode commands
As part of WEXT replacement, replace dl_loglevel, dl_mod_loglevel,
dl_modoff, dl_modon, dl_report, dl_type, dl_vapoff, dl_vapon with
a sysfs file.

file path: /sys/class/net/wlanxx/dl_loglevel
file path: /sys/class/net/wlanxx/dl_mod_loglevel
file path: /sys/class/net/wlanxx/dl_modoff
file path: /sys/class/net/wlanxx/dl_modon
file path: /sys/class/net/wlanxx/dl_report
file path: /sys/class/net/wlanxx/dl_type
file path: /sys/class/net/wlanxx/dl_vapoff
file path: /sys/class/net/wlanxx/dl_vapon
        wlanxx is adapter name

example: echo 1 > dl_loglevel
example: echo 1 > dl_mod_loglevel
example: echo 1 > dl_modoff
example: echo 1 > dl_modon
example: echo 1 > dl_report
example: echo 1 > dl_type
example: echo 1 > dl_vapoff
example: echo 1 > dl_vapon

Change-Id: Ic3d748738d0072e42b7ff07177f2ca711b333193
CRs-Fixed: 2715053
2020-08-13 06:13:20 -07:00
snandini
c2cd3e4b2e Release 5.2.0.198B
Release 5.2.0.198B

Change-Id: I315c02ff40ca041ee2d8cc60f686467842c4e288
CRs-Fixed: 774533
2020-08-13 02:09:57 -07:00
Visweswara Tanuku
78df7f106e qcacld-3.0: Extract Peer TWT session parameters
WMI handler is registered for twt_session_stats event.
Upon wmi event twt session parameters are extracted and
cached in peer mc_cp_stats. UMAC APIs are provided to
retrieve TWT session parameters from north bound
interface(hdd) using twt peer's mac_addr/session dialog_id

CRs-Fixed: 2730732
Change-Id: I8ce38ac6be97e844e26e03751c6d6cca981b82b4
2020-08-13 02:09:56 -07:00
Visweswara Tanuku
6363f77af4 qcacld-3.0: Set twt ap sta count in target config
Provide defines in Kbuild to set twt ap sta count
in target config

Change-Id: Ie7be53d2cb003c1176b6dec26d22f833288308c0
CRs-Fixed: 2730789
2020-08-13 02:09:53 -07:00
Subrat Dash
307e0288a6 qcacld-3.0: Fix tsf cap failure when SAP starts on DFS channel
When DFS channel is used WMI_VDEV_TSF_TSTAMP_ACTION_CMDID is
sent to fw before vdev is in up state. It leads the tsf capture
to enter into HDD_TS_STATUS_WAITING state as the fw returns
invalid tsf in the TSF report event.

The tsf capture has to be restarted to recover from this state.

Fix this by Calling hdd_stop_tsf_sync() while entering into CAC, 
the subsequent call to hdd_start_tsf_sync() will restart the tsf
capture.

CRs-Fixed: 2750676
Change-Id: Ie2fdf719d4b57035bf6fcc11824a894a1e313e23
2020-08-13 02:09:49 -07:00
snandini
c08f05829c Release 5.2.0.198A
Release 5.2.0.198A

Change-Id: I8849da364c4edce44427214ced9787ca7fe329dc
CRs-Fixed: 774533
2020-08-13 00:03:53 -07:00
Amruta Kulkarni
f2b948bccf qcacld-3.0: Use freq instead of channel num to get channel state
As the channel numbers are no longer unique use
wlan_reg_get_channel_state_for_freq() to get the
channel state and populate the valid channel list.

Change-Id: I182cea44c234cd0da2010f7b2c807b70c51cce85
CRs-Fixed: 2747949
2020-08-13 00:03:53 -07:00
Alan Chen
07c1ffca68 qcacld-3.0: Add an ini item for stats over QMI
Currently, stats over QMI features can only be disabled over build flags,
which is not flexible. Hence, add a CFG ini item to enable/disable stats
over QMI.

Change-Id: Idb27b712f8a831059dd6d6d12350533361d4d693
CRs-Fixed: 2752316
2020-08-13 00:03:49 -07:00
snandini
2f88a74356 Release 5.2.0.198
Release 5.2.0.198

Change-Id: Iabeaef8ebee98840adfb977d7fd006744cd484d9
CRs-Fixed: 774533
2020-08-12 19:53:07 -07:00
Yu Wang
499e2ccc29 qcacld-3.0: fix code defects for RRM frame processing
Directly dereferencing pointer beacon_xmit_ind before
null-checking, which may result in null pointer issue.
Meanwhile, measurement_idx should be checked to avoid
out-of-bounds read.
Fix is to check before dereferencing it.

CRs-Fixed: 2751550
Change-Id: I5241b3b16fcd9a04da121fd938b27d4070ea4e06
2020-08-12 19:53:06 -07:00
snandini
014e2991c8 Release 5.2.0.197Z
Release 5.2.0.197Z

Change-Id: Ibdc529e8ae95bb852279de329bf70957fe0423e0
CRs-Fixed: 774533
2020-08-12 17:47:56 -07:00