Since 6.17.11 and 6.18.1, the patch 'attach tlb fence to the PTs update' (commit b4a7f4e7ad2b120a94f3111f92a11520052c762d) provoked a kernel crash on my system with an AMD SI graphic chip.

I confirm this 'validate the flush_gpu_tlb_pasid()' patch solves this issue.

J. Ph.

Le 07/01/2026 à 02:50, Liang, Prike a écrit :
[Public]

Add Jean

Regards,
       Prike

-----Original Message-----
From: Liang, Prike <[email protected]>
Sent: Tuesday, January 6, 2026 9:19 PM
To: [email protected]
Cc: Deucher, Alexander <[email protected]>; Koenig, Christian
<[email protected]>; Liang, Prike <[email protected]>
Subject: [PATCH] drm/amdgpu: validate the flush_gpu_tlb_pasid()

Validate flush_gpu_tlb_pasid() availability before flushing tlb.

Signed-off-by: Prike Liang <[email protected]>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
index cd4acc6adc9e..f871f1693483 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
@@ -780,6 +780,10 @@ int amdgpu_gmc_flush_gpu_tlb_pasid(struct
amdgpu_device *adev, uint16_t pasid,
               return 0;

       if (!adev->gmc.flush_pasid_uses_kiq || !ring->sched.ready) {
+
+             if (!adev->gmc.gmc_funcs->flush_gpu_tlb_pasid)
+                     return 0;
+
               if (adev->gmc.flush_tlb_needs_extra_type_2)
                       adev->gmc.gmc_funcs->flush_gpu_tlb_pasid(adev, pasid,
                                                                2, all_hub,
--
2.34.1

Reply via email to