[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c9c9dfb7-7198-4575-a576-d5e184ba2cba@oss.qualcomm.com>
Date: Thu, 23 Jan 2025 09:47:49 -0800
From: Jeff Johnson <jeff.johnson@....qualcomm.com>
To: Aditya Kumar Singh <quic_adisi@...cinc.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/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
Powered by blists - more mailing lists