From 0313251d138bc6e7d5b0e665be4a0335a203a55d Mon Sep 17 00:00:00 2001 From: Shobek Attupurath Date: Tue, 26 Oct 2021 16:00:27 -0700 Subject: [PATCH] rtl8822ce: Initialize spinlock before usage Issue: Kernel warning print observed from rtl8822ce module 2024-04-23 21:04:14,547: [ 42.507680] Call trace: 2024-04-23 21:04:14,547: [ 42.510201] dump_backtrace+0xe0/0x140 2024-04-23 21:04:14,547: [ 42.514079] show_stack+0x1c/0x30 2024-04-23 21:04:14,547: [ 42.517502] dump_stack_lvl+0x64/0x84 2024-04-23 21:04:14,648: [ 42.521290] dump_stack+0x14/0x34 2024-04-23 21:04:14,648: [ 42.524703] spin_dump+0x98/0xb0 2024-04-23 21:04:14,648: [ 42.528030] do_raw_spin_lock+0x110/0x130 2024-04-23 21:04:14,648: [ 42.532165] _raw_spin_lock_irqsave+0x34/0xb0 2024-04-23 21:04:14,648: [ 42.536666] rtl8822ce_reset_bd+0x50/0x334 [rtl8822ce] 2024-04-23 21:04:14,648: [ 42.542087] rtw_hal_irp_reset+0x20/0x28 [rtl8822ce] 2024-04-23 21:04:14,648: [ 42.547290] rtw_halmac_rx_agg_switch+0x728/0x9a8 [rtl8822ce] 2024-04-23 21:04:14,648: [ 42.553272] rtw_halmac_dlfw+0x90/0xc0 [rtl8822ce] 2024-04-23 21:04:14,648: [ 42.558281] rtl8822c_fw_dl+0x4c/0x17c [rtl8822ce] 2024-04-23 21:04:14,648: [ 42.563302] rtw_hal_fw_dl+0x20/0x34 [rtl8822ce] 2024-04-23 21:04:14,648: [ 42.568136] hal_read_mac_hidden_rpt+0x10c/0x32c [rtl8822ce] 2024-04-23 21:04:14,648: [ 42.574063] rtl8822c_read_efuse+0x86c/0x1438 [rtl8822ce] 2024-04-23 21:04:14,648: [ 42.579726] rtl8822ce_aspm_config_l1off+0x40c/0x998 [rtl8822ce] 2024-04-23 21:04:14,648: [ 42.586009] rtw_hal_read_chip_info+0xc4/0xec [rtl8822ce] 2024-04-23 21:04:14,648: [ 42.591668] rtw_pci_primary_adapter_init+0x13c/0xd4c0 [rtl8822ce] 2024-04-23 21:04:14,648: [ 42.598134] rtw_pci_primary_adapter_init+0xd30/0xd4c0 [rtl8822ce] 2024-04-23 21:04:14,648: [ 42.604598] local_pci_probe+0x44/0xd0 2024-04-23 21:04:14,648: [ 42.608500] pci_device_probe+0xb0/0x270 Fix: Initialize the lock before using it Bug 3414392 Change-Id: I82b6f00b4a3599665b1a7194b5785a785d11501a Signed-off-by: Revanth Kumar Uppala Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3123003 Reviewed-by: Brad Griffis GVS: Gerrit_Virtual_Submit --- .../wireless/realtek/rtl8822ce/hal/rtl8822c/pci/rtl8822ce_ops.c | 2 ++ .../realtek/rtl8822ce/hal/rtl8822c/pci/rtl8822ce_xmit.c | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/realtek/rtl8822ce/hal/rtl8822c/pci/rtl8822ce_ops.c b/drivers/net/wireless/realtek/rtl8822ce/hal/rtl8822c/pci/rtl8822ce_ops.c index f9e5b07a..714aee79 100755 --- a/drivers/net/wireless/realtek/rtl8822ce/hal/rtl8822c/pci/rtl8822ce_ops.c +++ b/drivers/net/wireless/realtek/rtl8822ce/hal/rtl8822c/pci/rtl8822ce_ops.c @@ -1,6 +1,7 @@ /****************************************************************************** * * Copyright(c) 2015 - 2017 Realtek Corporation. + * Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms of version 2 of the GNU General Public License as @@ -71,6 +72,7 @@ void rtl8822ce_reset_bd(_adapter *padapter) } } + _rtw_spinlock_init(&pdvobjpriv->irq_th_lock); _enter_critical(&pdvobjpriv->irq_th_lock, &irqL); for (i = 0; i < PCI_MAX_TX_QUEUE_COUNT; i++) { if (t_priv->tx_ring[i].buf_desc) { diff --git a/drivers/net/wireless/realtek/rtl8822ce/hal/rtl8822c/pci/rtl8822ce_xmit.c b/drivers/net/wireless/realtek/rtl8822ce/hal/rtl8822c/pci/rtl8822ce_xmit.c index 6d25cbc7..69e4a3b3 100755 --- a/drivers/net/wireless/realtek/rtl8822ce/hal/rtl8822c/pci/rtl8822ce_xmit.c +++ b/drivers/net/wireless/realtek/rtl8822ce/hal/rtl8822c/pci/rtl8822ce_xmit.c @@ -52,8 +52,6 @@ s32 rtl8822ce_init_xmit_priv(_adapter *padapter) struct xmit_priv *pxmitpriv = &padapter->xmitpriv; struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(padapter); - _rtw_spinlock_init(&pdvobjpriv->irq_th_lock); - #ifdef PLATFORM_LINUX tasklet_init(&pxmitpriv->xmit_tasklet, rtl8822ce_xmit_tasklet,