[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