[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d4f6be06-871a-4ec3-a8f2-4024f7689f1a@quicinc.com>
Date: Fri, 24 Jan 2025 09:40:48 +0530
From: Aditya Kumar Singh <quic_adisi@...cinc.com>
To: Jeff Johnson <jeff.johnson@....qualcomm.com>,
Kalle Valo
<kvalo@...nel.org>, Jeff Johnson <jjohnson@...nel.org>,
"Karthikeyan
Periyasamy" <quic_periyasa@...cinc.com>,
Harshitha Prem
<quic_hprem@...cinc.com>
CC: Kalle Valo <quic_kvalo@...cinc.com>, <linux-wireless@...r.kernel.org>,
<ath12k@...ts.infradead.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 00/10] wifi: ath12k: fixes for rmmod and recovery
issues with hardware grouping
On 1/23/25 23:17, Jeff Johnson wrote:
> On 1/20/2025 1:48 AM, Aditya Kumar Singh wrote:
>> With hardware grouping, there is a kernel crash with signature -
>>
>> $ rmmod ath12k.ko
>> Unable to handle kernel paging request at virtual address 000000000000d1a8
>> [...]
>> Call trace:
>> ath12k_reg_free+0x14/0x74 [ath12k] (P)
>> ath12k_core_hw_group_destroy+0x7c/0xb4 [ath12k] (L)
>> ath12k_core_hw_group_destroy+0x7c/0xb4 [ath12k]
>> ath12k_core_deinit+0xd8/0x124 [ath12k]
>> ath12k_pci_remove+0x6c/0x130 [ath12k]
>> pci_device_remove+0x44/0xe8
>> device_remove+0x4c/0x80
>> device_release_driver_internal+0x1d0/0x22c
>> driver_detach+0x50/0x98
>> bus_remove_driver+0x70/0xf4
>> driver_unregister+0x30/0x60
>> pci_unregister_driver+0x24/0x9c
>> ath12k_pci_exit+0x18/0x24 [ath12k]
>> __arm64_sys_delete_module+0x1a0/0x2a8
>> invoke_syscall+0x48/0x110
>> el0_svc_common.constprop.0+0x40/0xe0
>> do_el0_svc+0x1c/0x28
>> el0_svc+0x30/0xd0
>> el0t_64_sync_handler+0x10c/0x138
>> el0t_64_sync+0x198/0x19c
>> Code: a9bd7bfd 910003fd a9025bf5 91402015 (f968d6a1)
>> ---[ end trace 0000000000000000 ]---
>> Segmentation fault
>>
>> This series aims to fix this stability issue. With this now, 100+ iteration
>> of rmmod and insmod works perfectly.
>>
>> Also, firmware recovery with grouping is not working fine. Randomly, some
>> NULL pointer crash or another firmware assert is seen. This series aims to
>> fix that as well.
>>
>> With this in place now, 100+ iteration of firmware recovery with one 3 link
>> AP MLD up works fine.
>>
>> ---
>> Changes in v2:
>> - Rebased on ToT.
>> - No changes in 1-4, 6-10.
>> - Removed regd_freed flag in 5.
>> - Link to v1: https://lore.kernel.org/r/20250109-fix_reboot_issues_with_hw_grouping-v1-0-fb39ec03451e@quicinc.com
>>
>> ---
>> Aditya Kumar Singh (10):
>> wifi: ath12k: prevent race condition in ath12k_core_hw_group_destroy()
>> wifi: ath12k: add reference counting for core attachment to hardware group
>> wifi: ath12k: fix failed to set mhi state error during reboot with hardware grouping
>> wifi: ath12k: fix firmware assert during reboot with hardware grouping
>> wifi: ath12k: fix SLUB BUG - Object already free in ath12k_reg_free()
>> wifi: ath12k: fix ath12k_core_pre_reconfigure_recovery() with grouping
>> wifi: ath12k: fix ATH12K_FLAG_REGISTERED flag handling
>> wifi: ath12k: handle ath12k_core_restart() with hardware grouping
>> wifi: ath12k: handle ath12k_core_reset() with hardware grouping
>> wifi: ath12k: reset MLO global memory during recovery
>>
>> drivers/net/wireless/ath/ath12k/core.c | 115 ++++++++++++++++++++++++++++++---
>> drivers/net/wireless/ath/ath12k/core.h | 15 +----
>> drivers/net/wireless/ath/ath12k/mac.c | 6 --
>> drivers/net/wireless/ath/ath12k/pci.c | 28 +++++++-
>> drivers/net/wireless/ath/ath12k/qmi.c | 24 ++++++-
>> drivers/net/wireless/ath/ath12k/qmi.h | 4 +-
>> drivers/net/wireless/ath/ath12k/reg.c | 4 +-
>> 7 files changed, 163 insertions(+), 33 deletions(-)
>> ---
>> base-commit: e7ef944b3e2c31b608800925e784f67596375770
>> change-id: 20241218-fix_reboot_issues_with_hw_grouping-0c2d367a587b
>>
>
> Fails to apply to current ath/main
>
> * Applying v2_20250120_quic_adisi_wifi_ath12k_fixes_for_rmmod_and_recovery_issues_with_hardware_grouping.mbx
> Applying: wifi: ath12k: prevent race condition in ath12k_core_hw_group_destroy()
> Applying: wifi: ath12k: add reference counting for core attachment to hardware group
> Using index info to reconstruct a base tree...
> M drivers/net/wireless/ath/ath12k/core.c
> M drivers/net/wireless/ath/ath12k/core.h
> Falling back to patching base and 3-way merge...
> Auto-merging drivers/net/wireless/ath/ath12k/core.h
> CONFLICT (content): Merge conflict in drivers/net/wireless/ath/ath12k/core.h
> Auto-merging drivers/net/wireless/ath/ath12k/core.c
> Recorded preimage for 'drivers/net/wireless/ath/ath12k/core.h'
> error: Failed to merge in the changes.
> Patch failed at 0002 wifi: ath12k: add reference counting for core attachment to hardware group
>
FTM changes are conflicting in .h file. I will rebase on ToT and send
new version.
--
Aditya
Powered by blists - more mailing lists