On 5/29/2025 11:56 AM, Sergey Senozhatsky wrote: > ath11k_hal_srng_deinit() frees rdp and wrp which are used > by srng lists. Mark srng lists as not-initialized. This > makes sense, for instance, when device fails to resume > and the driver calls ath11k_hal_srng_deinit() from > ath11k_core_reconfigure_on_crash(). Did you see any issue without your change? > > Signed-off-by: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx> > --- > > v2: fixed subject line and updated commit message > > drivers/net/wireless/ath/ath11k/hal.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath11k/hal.c b/drivers/net/wireless/ath/ath11k/hal.c > index 8cb1505a5a0c..cab11a35f911 100644 > --- a/drivers/net/wireless/ath/ath11k/hal.c > +++ b/drivers/net/wireless/ath/ath11k/hal.c > @@ -1346,6 +1346,10 @@ EXPORT_SYMBOL(ath11k_hal_srng_init); > void ath11k_hal_srng_deinit(struct ath11k_base *ab) > { > struct ath11k_hal *hal = &ab->hal; > + int i; > + > + for (i = 0; i < HAL_SRNG_RING_ID_MAX; i++) > + ab->hal.srng_list[i].initialized = 0; With this flag reset, srng stats would not be dumped in ath11k_hal_dump_srng_stats(). > > ath11k_hal_unregister_srng_key(ab); > ath11k_hal_free_cont_rdp(ab);