[PATCH] drm/amdgpu: psp_ring_destroy cause psp->km_ring.ring_mem NULL

Yu, Xiangliang Xiangliang.Yu at amd.com
Tue Dec 18 07:57:57 UTC 2018


Reviewed-by: Xiangliang Yu <Xiangliang.Yu at amd.com>



-----Original Message-----
From: Lou, Wentao <Wentao.Lou at amd.com> 
Sent: Tuesday, December 18, 2018 3:52 PM
To: amd-gfx at lists.freedesktop.org
Cc: Lou, Wentao <Wentao.Lou at amd.com>
Subject: [PATCH] drm/amdgpu: psp_ring_destroy cause psp->km_ring.ring_mem NULL

psp_ring_destroy inside psp_load_fw cause psp->km_ring.ring_mem NULL.
Call Trace occurred when psp_cmd_submit.
should be psp_ring_stop instead.

Change-Id: Ib332004b3b9edc9e002adc532b2d45cdad929b05
Signed-off-by: Wentao Lou <Wentao.Lou at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index 7f5ce37..8189a90 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -547,7 +547,7 @@ static int psp_load_fw(struct amdgpu_device *adev)
 	struct psp_context *psp = &adev->psp;
 
 	if (amdgpu_sriov_vf(adev) && adev->in_gpu_reset) {
-		psp_ring_destroy(psp, PSP_RING_TYPE__KM);
+		psp_ring_stop(psp, PSP_RING_TYPE__KM); /* should not destroy ring, only stop */
 		goto skip_memalloc;
 	}
 
-- 
2.7.4



More information about the amd-gfx mailing list