[Public] Seems like a good start for the issue linked there.
Reviewed-by: Kent Russell <[email protected]> > -----Original Message----- > From: amd-gfx <[email protected]> On Behalf Of Mario > Limonciello (AMD) > Sent: Monday, January 5, 2026 11:39 PM > To: [email protected] > Cc: Mario Limonciello (AMD) <[email protected]> > Subject: [PATCH] drm/amd: Clean up kfd node on surprise disconnect > > When an eGPU is unplugged the KFD topology should also be destroyed > for that GPU. This never happens because the fini_sw callbacks never > get to run. Run them manually at the end of amdgpu_device_fini_hw() > when a device is already disconnected. > > Closes: https://community.frame.work/t/amd-egpu-on-linux/8691/33 > Signed-off-by: Mario Limonciello (AMD) <[email protected]> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > index 021ecc988ff79..4bac0d25547f2 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > @@ -5263,6 +5263,9 @@ void amdgpu_device_fini_hw(struct amdgpu_device > *adev) > if (drm_dev_is_unplugged(adev_to_drm(adev))) > amdgpu_device_unmap_mmio(adev); > > + /* surprise hotplug */ > + if (pci_dev_is_disconnected(adev->pdev)) > + amdgpu_amdkfd_device_fini_sw(adev); > } > > void amdgpu_device_fini_sw(struct amdgpu_device *adev) > -- > 2.43.0
