Commit Graph

19431 Commits

Author SHA1 Message Date
Jingxiang Ge
fa85d03310 qcacld-3.0: Add a sysfs replacement for modify_acl
As part of WEXT replacement, replace modify_acl with a sysfs file.
file path: /sys/class/net/wlanxx/modify_acl
example: echo 0x00 0x11 0x22 0x33 0x44 0x55 0 0 > modify_acl

Change-Id: I2022a50be84fa21a437aed9ecfdbe4d4bba613df
CRs-Fixed: 2682881
2020-05-12 23:36:42 -07:00
nshrivas
17a9810ebe Release 5.2.0.185K
Release 5.2.0.185K

Change-Id: Iac23e051c5313316d6d527e98bd3c945e53416c6
CRs-Fixed: 774533
2020-05-12 15:36:08 -07:00
Sourav Mohapatra
9b181b365f qcacld-3.0: Add NULL check for adapter->vdev in interop_ap
In the function __wlan_cfg80211_set_interop_issues_ap_config the
adapter->vdev pointer is being passed to fetch the psoc without any
prior NULL check. This can lead to NULL pointer dereference.

Add a NULL sanity check before performing action based on adapter->vdev

CRs-Fixed: 2681524
Change-Id: I0c58a3a263fe5166e0c13a5f866f4bccfa031086
2020-05-12 15:36:08 -07:00
Vevek Venkatesan
cdfa210156 qcacld-3.0: free the skb if osif_vdev_sync_op_start failed
If osif_vdev_sync_op_start failed, that means operation on
net_dev is not permitted. So, free the skb before return.

Change-Id: Icd366c2d9d947e39f26f1b21878bfe0154a55fdc
CRs-Fixed: 2681018
2020-05-12 15:36:04 -07:00
Ashish Kumar Dhanotiya
d064902a66 qcacld-3.0: Update disconnect rssi on every disconnect rssi event
Currently there is a check to validate if the station is in
associated state or not in the hdd lost link cp stats info cb,

There is a race condition where if the disconnection happens
from ap in that case the callback gets invoked before the
connection state in the station context gets updated and thus
the rssi on disconnect is not updated.

To address above issue remove the check to validate the station
state and update the rssi on disconnect irrespective of the
state of the connection.

Change-Id: I9cc6a08cdf0a1081adfde7a9423a665bc977cffc
CRs-Fixed: 2678667
2020-05-12 15:36:00 -07:00
Surabhi Vishnoi
c25f24b8d8 qcacld-3.0: Add support for HTT_T2H_MSG_TYPE_CFR_DUMP_COMPL_IND msg
Add support to parse the HTT_T2H_MSG_TYPE_CFR_DUMP_COMPL_IND
message. This target to host message is received when CFR feature
is enabled.

Change-Id: I592cd5ca663018f2958550e6e3e383bb796ee168
CRs-Fixed: 2680730
2020-05-12 15:35:56 -07:00
nshrivas
26912417a3 Release 5.2.0.185J
Release 5.2.0.185J

Change-Id: Ibccbfad1e55bc0e008b8b86880b530f79fc3dba6
CRs-Fixed: 774533
2020-05-12 13:45:10 -07:00
Kiran Kumar Lokere
ca4db85bc2 qcacld-3.0: Fix issue with OBSS scan cmd send failure
OBSS scan enable WMI command is not correctly set for one of
the TLV of the command which corrupted the length of the next
TLV of the command and lead to command send failure.

Correct the buffer offset of the TLV in the OBSS scan WMI command.

Change-Id: Ieb9467c52ae9d9dab602485b4b63fc9de48e6924
CRs-Fixed: 2681000
2020-05-12 13:45:08 -07:00
Arun Kumar Khandavalli
a04e1c5dd8 qcacld-3.0: Register sysfs entries only for Mission mode
Some of the psoc/pdev specific sysfs entries are valid only for
mission mode and a no-op for the non-mission modes.

Add a sanity check for global mode type while adding and removing
the interface.

Change-Id: If017f583f9b3a29c7d43e59709227a9ba639764d
CRs-Fixed: 2682924
2020-05-12 13:45:04 -07:00
Ashish Kumar Dhanotiya
229a7c7200 qcacld-3.0: Enable FW log parsing feature by default
Currently FEATURE_FW_LOG_PARSING is enabled if the
target is not lahina. With the new requirement it is
required to enable this feature by default.

To address above requirement enable this feature by default.

Change-Id: I2a1e944c7ae76b3747c73202f3b25fa880111d2f
CRs-Fixed: 2683325
2020-05-12 13:45:00 -07:00
nshrivas
45a77d66f0 Release 5.2.0.185I
Release 5.2.0.185I

Change-Id: I92cb7283982f7677c613da1795125370ad3722fd
CRs-Fixed: 774533
2020-05-12 08:36:59 -07:00
Alan Chen
999e31af36 qcacld-3.0: Move sysfs create/destroy to start/stop adapter
Move adapter-specific sysfs files, create/destroy, to start/stop adapter
such that unwanted sysfs creations can be avoided for sap only files.

Change-Id: Icff8df5f773fda0560400360c37d644274df456e
CRs-Fixed: 2683477
2020-05-12 08:36:59 -07:00
nshrivas
67aef89ea5 Release 5.2.0.185H
Release 5.2.0.185H

Change-Id: I75ae8f48e752e2477d0c7a02e7e7e66d1ced36e4
CRs-Fixed: 774533
2020-05-11 13:32:08 -07:00
Ashish Kumar Dhanotiya
c57df4421d qcacld-3.0: Add logs for sar safety and sar unsolicited timers
Currently there are no logs to check at what time SAR safety timer
or sar unsolicited timer starts or stops.
Add debug logs to know the exact time when the sar safety timer
and sar unsolicited timer start and stop.

Change-Id: I2feaff17c6940a18d35bc4271549eda5dc36a13a
CRs-Fixed: 2679214
2020-05-11 13:32:08 -07:00
nshrivas
cf8e2ecbbf Release 5.2.0.185G
Release 5.2.0.185G

Change-Id: Ia7d95239a270e5fb6a3520114b41feb018cf675c
CRs-Fixed: 774533
2020-05-11 11:44:01 -07:00
Jingxiang Ge
9ff73b6c5b qcacld-3.0: Add a sysfs replacement for unit_test_target
As part of WEXT replacement, replace unit_test_target with
a sysfs file.
file path: /sys/class/net/wlanxx/unit_test_target
        wlanxx is adapter name
        example: echo 5 2 2 1 > unit_test_target

Change-Id: I7815a4238dc39e468ae8e43d26405dc72a0a84df
CRs-Fixed: 2681473
2020-05-11 11:44:01 -07:00
Jingxiang Ge
02938bab2b qcacld-3.0: Add a sysfs replacement for suspend/resume
As part of WEXT replacement, replace wlan_suspend/wlan_resume
with a sysfs file.
file path: /sys/class/net/wlanxx/wlan_suspend
           /sys/class/net/wlanxx/wlan_resume
                wlanxx is adapter name
example:
         echo 0 0 > wlan_suspend
         echo > wlan_resume

Change-Id: I378afaa5f0ee00d893f4f9eb3e6ce2e80062b43f
CRs-Fixed: 2680776
2020-05-11 11:43:57 -07:00
Jingxiang Ge
4accf73e7b qcacld-3.0: Add a sysfs replacement for crash_inject
As part of WEXT replacement, replace crash_inject with a sysfs file.
file path: /sys/class/net/wlanxx/crash_inject
        wlanxx is adapter name
        example: echo 1 1 > crash_inject

Change-Id: Ica3e2c0941e9217b42ed7cd3194fe98c8f0d0aa9
CRs-Fixed: 2680684
2020-05-11 11:43:54 -07:00
nshrivas
53af32a7d9 Release 5.2.0.185F
Release 5.2.0.185F

Change-Id: Ide9b19409d894536eb8e6d14548f66561425ba3e
CRs-Fixed: 774533
2020-05-11 07:11:26 -07:00
Karthik Kantamneni
fe057fbcff qcacld-3.0: Define dummy APIs for ext stats when EXT_STATS feature disabled
Define dummy APIs for wlan_hdd_cfg80211_stats_ext_callback,
wlan_hdd_cfg80211_stats_ext2_callback when EXT_STATS feature
is disabled to avoid unknown symbol error.

Change-Id: Ic53d316da986a2eeafbea75eeb6e0aa4e91d15ec
2020-05-11 07:11:25 -07:00
nshrivas
24d5cb64c8 Release 5.2.0.185E
Release 5.2.0.185E

Change-Id: Idc4afc8bc0100bb220b2e397cb6037b9ae3d9708
CRs-Fixed: 774533
2020-05-11 05:24:22 -07:00
Pankaj Singh
beccafae0d qcacld-3.0: Add support for thermal mitigation after SSR
Wlan driver is not caching the thermal mitigation level
configured by framework. As a result after ssr thermal
level is not send to fw.

Fix, to cache the thermal level in the driver and apply
it after ssr.

change-ID: I7ede84a11149e093b6a674c3a72f0aeb54a980db
CRs-Fixed: 2678533
2020-05-11 05:24:22 -07:00
Sourav Mohapatra
748776ef20 qcacld-3.0: Add check for pesession before accessing it
In function lim_send_probe_req_mgmt_frame, pesession is being used
without sanity check.

Add sanity check for pesession.

Change-Id: Iea52db4399cc50e4e7cd99bec92677e845274153
CRs-Fixed: 2668308
2020-05-11 05:24:18 -07:00
nshrivas
13be56554a Release 5.2.0.185D
Release 5.2.0.185D

Change-Id: I229cca9b368abb810afacdebeffef6c36e570427
CRs-Fixed: 774533
2020-05-10 15:00:49 -07:00
Srinivas Dasari
e493ece20b qcacld-3.0: Use MAX_PEERS instead of IBSS define in conn_info
Currently, SIR_MAX_NUM_STA_IN_IBSS(16) is used while updating
sta_ctx->conn_info in hdd_save_peer/hdd_delete_peer. IBSS
supports maximum 16 peers but NDP might support more based
on platform. This restricts the max supported NDP peers to 16.
But host driver supports MAX_PEERS(32) no.of peers and use the
same here as sta_ctx->conn_info has support for MAX_PEERS(32)
mac addresses.

Change-Id: Ic52422435f97929e22cf3c0897ce9173793ee12e
CRs-Fixed: 2673110
2020-05-10 15:00:49 -07:00
nshrivas
b6729a750c Release 5.2.0.185C
Release 5.2.0.185C

Change-Id: I450c1bff04fc13da753743675b567bbad0b701aa
CRs-Fixed: 774533
2020-05-10 03:03:01 -07:00
Naman Padhiar
c5f417af3d qcacld-3.0: Enable 6GHz Band capability for WCN6750
Enable 6GHz Band capability flag in host driver for WCN6750.

Change-Id: Id17e64a283aeee6c09491c13a0a3aa5cb7d4f6bf
2020-05-10 03:03:00 -07:00
nshrivas
a9f4723a88 Release 5.2.0.185B
Release 5.2.0.185B

Change-Id: I828f3b12574820b40dd3aa1c3f7c67e1e66703ae
CRs-Fixed: 774533
2020-05-09 00:56:51 -07:00
Srinivas Dasari
632c058365 qcacld-3.0: Send NDI del rsp in NAN_DATA_DISCONNECTED_STATE state
NDI delete response is sent to userspace only when NDI is in
NAN_DATA_NDI_DELETING_STATE state. But NDI could be in
NAN_DATA_DISCONNECTED_STATE state if cleanup happens through
NDP_END_ALL path. Driver doesn't send response to userspace in
this case.
Send the response to userspace in NAN_DATA_DISCONNECTED_STATE also
as the application might be waiting for NDI delete status.
Also, use set/get APIs and avoid accessing NDI state directly.

Change-Id: I81a6b19a77144c76dde145f126c45b2ca67ff093
CRs-Fixed: 2679581
2020-05-09 00:56:50 -07:00
nshrivas
50678287db Release 5.2.0.185A
Release 5.2.0.185A

Change-Id: I28dc179488dd839067a837bcfa764919b638e297
CRs-Fixed: 774533
2020-05-08 18:50:54 -07:00
Lincoln Tran
9faaae1bb7 qcacld-3.0: Cleanup instances of CFG_COUNTRY_CODE
Remove instances of CFG_COUNTRY_CODE and country_code from
wlan_mlme_reg struct.
Remove redundant country code APIs.

This change is needed because the country code is no longer
stored in CFG file, and subsequently, there is no need for
CFG_COUNTRY_CODE.

Change-Id: Ia4b3b40d0dccfde696352967f2902dfba344a445
CRs-Fixed: 2634079
2020-05-08 18:50:54 -07:00
nshrivas
08c5502552 Release 5.2.0.185
Release 5.2.0.185

Change-Id: I20541f8ec229a86b524684a182aedad75bf35a49
CRs-Fixed: 774533
2020-05-08 16:10:39 -07:00
Sourav Mohapatra
1de1ca890f qcacld-3.0: Fill header for HANG_EVT_TAG_LEGACY_MAC hang data
Currently while filling in the hang event data for the event
HANG_EVT_TAG_LEGACY_MAC, the header is not getting filled in. This can
cause the data to go out of sync.

Add the header to the data before filling in the values.

Change-Id: Iedcb39623276e5f04ef9ffb5b3284e67f6c89312
CRs-Fixed: 2678949
2020-05-08 16:10:39 -07:00
Manjunathappa Prakash
ecade686b9 qcacld-3.0: Check for NULL dereference before access
Check for NULL dereference before accessing it.

Change-Id: Id2dc5f2c0f54f0c7681d2a26a53e7190ef46aba2
CRs-Fixed: 2668241
2020-05-08 16:10:35 -07:00
Manjunathappa Prakash
b6a71494fe qcacld-3.0: Use %pK format specifier in dp_rx_thread logs
Cleanup logging, usage of %p or %pk will lead to information leak.
Always use %pK instead when ever logging the address.

Change-Id: Id60782855f242175183f88e9f1c2efb9eb578404
CRs-Fixed: 2677373
2020-05-08 16:10:31 -07:00
Manjunathappa Prakash
52c3189299 qcacld-3.0: Use %pK format specifier in dp_rx_fisa logs
Cleanup logging, usage of %p or %pk will lead to information leak.
Always use %pK instead when ever logging the address.

Change-Id: Id11e1b52b394eb10bb2b32fc2ee2e04116f98026
CRs-Fixed: 2677373
2020-05-08 16:10:27 -07:00
nshrivas
96458d210c Release 5.2.0.184Z
Release 5.2.0.184Z

Change-Id: Ia5b52ce95515745e4616035e65d923fb1fa40750
CRs-Fixed: 774533
2020-05-08 14:25:35 -07:00
Ananya Gupta
16c13ea0b8 qcacld-3.0: Initialize peer_timer_bitmask
peer_timer_bitmask of hang_data was uninitialized which may
contain a garbage value.
Initialized the variable with 0.

Change-Id: I5875bb0d121bcbf14a2afc9efec6697cf4b4dba4
CRs-Fixed: 2680955
2020-05-08 14:25:35 -07:00
Ananya Gupta
6dff8e348e qcacld-3.0: Cancel reap timer during driver unload
In case of driver unload, there can be a race condition
since the timer for processing monitor status ring can run
in parallel to the unload time wow ack response handler,
which is also flushing all the monitor status ring entries.
To avoid this race condition, stop the monitor reap timer
as a part of target suspend, and process all the outstanding
entries in the monitor status ring.
This will make sure that the monitor status ring is
processed from only one context at any given time.

Change-Id: Iaff01b2d61ba53eb7ab442b2c1886ba8076a4a8b
CRs-Fixed: 2678973
2020-05-08 14:25:31 -07:00
Manikanta Pubbisetty
174d2ccae5 qcacld-3.0: drop frames in the RX thread queue during peer unmap
Because of a race that happen during vdev delete, RX packets can get
queued to the RX thread after the RX flush (done as part of peer deletion)
and by the time RX thread is woken up for processing, the netdev pointer
would be NULL leading to a crash.

Avoid this by dropping pending frames in the RX thread during peer unmap
as well.

Change-Id: Id79d7d05c487fcabfd104a15dc4038d48703b07c
CRs-Fixed: 2681195
2020-05-08 14:25:27 -07:00
nshrivas
08831e9b98 Release 5.2.0.184Y
Release 5.2.0.184Y

Change-Id: Id67cd941b23c90e237052de9274d8e238f0ee724
CRs-Fixed: 774533
2020-05-08 12:33:22 -07:00
Sourav Mohapatra
00f5651b66 qcacld-3.0: Remove validate context check in LL stats get NB ops
As a part of LL stats get NB operation, the driver sends the LL stats
req to the FW, waits for the response and sends back the stats in a
synchronous reply. All this happens as a part of one single NB
operation.

Within this operation, if an rmmod comes, there can be a possiblity
of a memory leak. In function hdd_link_layer_process_radio_stats, there
is a check to validate the hdd_context and return if the driver is
undergoing load/unload. As a part of the premature return, some memory
are not freed properly.

To resolve this, remove the validity check from the NB operation. The
operation itself comes with DSC synchronization and ensures that the
hdd_context remains valid atleast until the operation is complete. Thus
there is no need for the redundant check of validity of hdd_context,
which resolves the memory leak issue also.

Change-Id: Ieea755e83addac99659dbd6e0e5f160b86e6f9fa
CRs-Fixed: 2679081
2020-05-08 12:33:22 -07:00
Alan Chen
e93ba0f5b1 qcacld-3.0: Add a sysfs replacement for reassoc
As part of WEXT replacement, replace reassoc with a sysfs file.

file path: /sys/class/net/wlanxx/reassoc
	where wlanxx is adapter name

example: echo 0 > reassoc

Change-Id: Ib4f3582bb8c164dd4f3ab739367520b9aeb0f5b9
CRs-Fixed: 2676629
2020-05-08 12:33:18 -07:00
Alan Chen
549fb49793 qcacld-3.0: Add a sysfs replacement for set_fw_mode_cfg
As part of WEXT replacement, replace set_fw_mode_cfg with a sysfs file.

file path: /sys/kernel/wifi/set_fw_mode_cfg

example: echo 1 1 > set_fw_mode_cfg

Change-Id: I851df440f9eb5f73798deaf3b4d0f128f6925f26
CRs-Fixed: 2675570
2020-05-08 12:33:13 -07:00
nshrivas
6932d7009c Release 5.2.0.184X
Release 5.2.0.184X

Change-Id: I00d0acacaa2864c81f39494d028bdc6c1dff0f6f
CRs-Fixed: 774533
2020-05-08 10:47:33 -07:00
Liangwei Dong
06109080e9 qcacld-3.0: Correct 160MHz SAP dfs flag
Use wlan_reg_get_channel_state_for_freq API to get channel
state and identify 6Ghz channel as non-dfs channel.

Change-Id: Ib134a71c62e24324abc12e5a5b11a524e89de810
CRs-Fixed: 2681608
2020-05-08 16:40:04 +08:00
nshrivas
42a98a6677 Release 5.2.0.184W
Release 5.2.0.184W

Change-Id: I7d3ce8ec6438572ef77b1bc0236ed31378ae08b6
CRs-Fixed: 774533
2020-05-07 14:52:26 -07:00
Abhishek Ambure
ab1d6c2996 qcacld-3.0: Fill current oper freq in sw_target_freq
During HT channel width change, host updates secondary channel number
in "sw_target_freq" and not the primary channel frequency. LIM uses
sw_target_freq to update the CSR sessions frequency which become invalid
channel. During SAP start, as host uses this channel to check for SCC
switch, the invalid frequency lead to invalid channel structure getting
accessed.

Hence, during HT channel width change, update sLimChannelSwitchInfo's
sw_target_freq member with current operating frequency stored in
pe_session's curr_op_freq.

Change-Id: Ie7aaa2187d35dba74050263e1ebf6f72d106aa85
CRs-Fixed: 2680035
2020-05-07 14:52:26 -07:00
nshrivas
320b76b90a Release 5.2.0.184V
Release 5.2.0.184V

Change-Id: I5d22ed90a286d1018424b958c80460f6e445db9f
CRs-Fixed: 774533
2020-05-07 13:03:40 -07:00
Jianmin Zhu
25800f4de6 qcacld-3.0: Tx dropped for osif_vdev_sync_op_start failed
osif_psoc_sync_trans_start_wait is wrongly used in
Idceff767d62c1e81046a696cb58f70a897cbd074, which will block any
vdev operation which results in tethering failure and Tx packets
also won't be transmitted whenever ipa event is processed as
we have vdev check in hard transmit too.
Fix:
Don't call osif_psoc_sync_trans_start_wait when handle IPA
event, just check recoverying state.

Change-Id: Ibb5d94e0e22413fdd9dad294fc8da58eba8a700b
CRs-Fixed: 2680423
2020-05-07 13:03:39 -07:00