[PATCH] drm/amdgpu: don't oops on failure to load
Zhou, David(ChunMing)
David1.Zhou at amd.com
Mon Nov 2 18:33:57 PST 2015
Thanks for catching. Reviewed-by: Chunming Zhou <david1.zhou at amd.com>
Regards,
David Zhou
> -----Original Message-----
> From: dri-devel [mailto:dri-devel-bounces at lists.freedesktop.org] On Behalf
> Of Dave Airlie
> Sent: Tuesday, November 03, 2015 7:35 AM
> To: dri-devel at lists.freedesktop.org
> Subject: [PATCH] drm/amdgpu: don't oops on failure to load
>
> From: Dave Airlie <airlied at redhat.com>
>
> 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.
>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 3 +++
> drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 3 ++-
> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
> index e0b80cc..fec65f0 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
> +++ b/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;
> 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]);
> diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
> b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
> index 7fa1d7a..d3b9eb7 100644
> --- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
> +++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
> @@ -462,5 +462,6 @@ int amd_sched_init(struct amd_gpu_scheduler
> *sched,
> */
> void amd_sched_fini(struct amd_gpu_scheduler *sched) {
> - kthread_stop(sched->thread);
> + if (sched->thread)
> + kthread_stop(sched->thread);
> }
> --
> 2.5.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the dri-devel
mailing list