summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2015-11-03 11:10:03 -0500
committerAlex Deucher <alexander.deucher@amd.com>2015-11-03 11:15:29 -0500
commit32544d021515f767e651648e5702472d48ab9436 (patch)
treef18a83b35b5e006725164b3c07c725ad5f645079 /drivers/gpu
parentfe295b27150afe5ddc5e8bb6670149970b33834d (diff)
downloadlinux-32544d021515f767e651648e5702472d48ab9436.tar.gz
linux-32544d021515f767e651648e5702472d48ab9436.tar.bz2
linux-32544d021515f767e651648e5702472d48ab9436.zip
drm/amd/scheduler: don't oops on failure to load
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. agd: Split out from from the original patch since the scheduler is a driver independent. 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
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/amd/scheduler/gpu_scheduler.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
index 8dd7316b1d4f..b3e84d0f4ace 100644
--- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
+++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
@@ -468,5 +468,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);
}