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 e0b80ccdfe8ae690e790237b5d6777b30c1d072e..fec65f01c0315ec726a464e49ca9a1c47910ca58 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]);