aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index c8de4b6194e8..7b4823deef33 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -891,13 +891,14 @@ int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
891 return r; 891 return r;
892 } 892 }
893 893
894 r = amdgpu_cs_parser_prepare_job(parser);
895 if (r)
896 goto out;
897
894 if (amdgpu_enable_scheduler && parser->num_ibs) { 898 if (amdgpu_enable_scheduler && parser->num_ibs) {
895 struct amdgpu_job *job; 899 struct amdgpu_job *job;
896 struct amdgpu_ring * ring = 900 struct amdgpu_ring * ring =
897 amdgpu_cs_parser_get_ring(adev, parser); 901 amdgpu_cs_parser_get_ring(adev, parser);
898 r = amdgpu_cs_parser_prepare_job(parser);
899 if (r)
900 goto out;
901 job = kzalloc(sizeof(struct amdgpu_job), GFP_KERNEL); 902 job = kzalloc(sizeof(struct amdgpu_job), GFP_KERNEL);
902 if (!job) 903 if (!job)
903 return -ENOMEM; 904 return -ENOMEM;
@@ -939,9 +940,6 @@ int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
939 up_read(&adev->exclusive_lock); 940 up_read(&adev->exclusive_lock);
940 return 0; 941 return 0;
941 } 942 }
942 r = amdgpu_cs_parser_prepare_job(parser);
943 if (r)
944 goto out;
945 943
946 cs->out.handle = parser->ibs[parser->num_ibs - 1].sequence; 944 cs->out.handle = parser->ibs[parser->num_ibs - 1].sequence;
947out: 945out: