[Public]

Acked-by: Alex Deucher <alexander.deuc...@amd.com>
________________________________
From: amd-gfx <amd-gfx-boun...@lists.freedesktop.org> on behalf of James Zhu 
<james....@amd.com>
Sent: Thursday, September 7, 2023 10:41 AM
To: amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org>
Cc: Lin, Amber <amber....@amd.com>; Zhu, James <james....@amd.com>; Kamal, Asad 
<asad.ka...@amd.com>
Subject: [PATCH] drm/amdxcp: fix amdxcp unloads incompletely

amdxcp unloads incompletely, and below error will be seen during load/unload,
sysfs: cannot create duplicate filename '/devices/platform/amdgpu_xcp.0'

devres_release_group will free xcp device at first, platform device will be
unregistered later in platform_device_unregister.

Signed-off-by: James Zhu <james....@amd.com>
---
 drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c 
b/drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c
index 353597fc908d..90ddd8371176 100644
--- a/drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c
+++ b/drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c
@@ -89,9 +89,10 @@ EXPORT_SYMBOL(amdgpu_xcp_drm_dev_alloc);
 void amdgpu_xcp_drv_release(void)
 {
         for (--pdev_num; pdev_num >= 0; --pdev_num) {
-               devres_release_group(&xcp_dev[pdev_num]->pdev->dev, NULL);
-               platform_device_unregister(xcp_dev[pdev_num]->pdev);
-               xcp_dev[pdev_num]->pdev = NULL;
+               struct platform_device *pdev = xcp_dev[pdev_num]->pdev;
+
+               devres_release_group(&pdev->dev, NULL);
+               platform_device_unregister(pdev);
                 xcp_dev[pdev_num] = NULL;
         }
         pdev_num = 0;
--
2.34.1

Reply via email to