Thanks for catching. Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Regards, David Zhou > -----Original Message----- > From: dri-devel [mailto:dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx] On Behalf > Of Dave Airlie > Sent: Tuesday, November 03, 2015 7:35 AM > To: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Subject: [PATCH] drm/amdgpu: don't oops on failure to load > > From: Dave Airlie <airlied@xxxxxxxxxx> > > 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@xxxxxxxxxx> > --- > 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@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel