From ef9beff5ae8948e6653950871d7e3021802c23ad Mon Sep 17 00:00:00 2001 From: jsg Date: Mon, 9 Sep 2024 09:17:44 +0000 Subject: [PATCH] drm/amdkfd: Check debug trap enable before write dbg_ev_file From Lin.Cao e6ea3b8fe398915338147fe54dd2db8155fdafd8 in linux-6.6.y/6.6.50 547033b593063eb85bfdf9b25a5f1b8fd1911be2 in mainline linux --- sys/dev/pci/drm/amd/amdkfd/kfd_debug.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/pci/drm/amd/amdkfd/kfd_debug.c b/sys/dev/pci/drm/amd/amdkfd/kfd_debug.c index 9ec75066638..94aaf2fc556 100644 --- a/sys/dev/pci/drm/amd/amdkfd/kfd_debug.c +++ b/sys/dev/pci/drm/amd/amdkfd/kfd_debug.c @@ -103,7 +103,8 @@ void debug_event_write_work_handler(struct work_struct *work) struct kfd_process, debug_event_workarea); - kernel_write(process->dbg_ev_file, &write_data, 1, &pos); + if (process->debug_trap_enabled && process->dbg_ev_file) + kernel_write(process->dbg_ev_file, &write_data, 1, &pos); } /* update process/device/queue exception status, write to descriptor @@ -645,6 +646,7 @@ int kfd_dbg_trap_disable(struct kfd_process *target) else if (target->runtime_info.runtime_state != DEBUG_RUNTIME_STATE_DISABLED) target->runtime_info.runtime_state = DEBUG_RUNTIME_STATE_ENABLED; + cancel_work_sync(&target->debug_event_workarea); fput(target->dbg_ev_file); target->dbg_ev_file = NULL; -- 2.20.1