Переглянути джерело

drm/amdgpu: don't oops on failure to load (v2)

In two places amdgpu tries to tear down something it hasn't
initalised when failing. This is what happens when you
enable experimental support on topaz which then fails in
ring init.

This patch allows it to fail cleanly.

v2 (agd): split out scheduler change into a separate patch

Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Dave Airlie 9 роки тому
батько
коміт
fe295b2715
1 змінених файлів з 3 додано та 0 видалено
  1. 3 0
      drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c

+ 3 - 0
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c

@@ -69,6 +69,9 @@ void amdgpu_ctx_fini(struct amdgpu_ctx *ctx)
 	struct amdgpu_device *adev = ctx->adev;
 	struct amdgpu_device *adev = ctx->adev;
 	unsigned i, j;
 	unsigned i, j;
 
 
+	if (!adev)
+		return;
+
 	for (i = 0; i < AMDGPU_MAX_RINGS; ++i)
 	for (i = 0; i < AMDGPU_MAX_RINGS; ++i)
 		for (j = 0; j < AMDGPU_CTX_MAX_CS_PENDING; ++j)
 		for (j = 0; j < AMDGPU_CTX_MAX_CS_PENDING; ++j)
 			fence_put(ctx->rings[i].fences[j]);
 			fence_put(ctx->rings[i].fences[j]);