drm/amdgpu: don't oops on failure to load (v2)
authorDave Airlie <airlied@redhat.com>
Tue, 3 Nov 2015 16:07:11 +0000 (11:07 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 3 Nov 2015 16:15:19 +0000 (11:15 -0500)
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
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c

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