Am 31.10.2016 um 03:08 schrieb Huang Rui: > Signed-off-by: Huang Rui <ray.huang at amd.com> Looks good to me, patch is Reviewed-by: Christian König <christian.koenig at amd.com>. BTW: amdgpu_cs_handle_lockup() is a leftover from radeon and can be removed. Would be nice if you can take care of this as well. Regards, Christian. > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 32 ++++++++++++++++---------------- > 1 file changed, 16 insertions(+), 16 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > index 0cb27c3..d73dd1b 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > @@ -1052,29 +1052,29 @@ int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp) > r = amdgpu_cs_parser_init(&parser, data); > if (r) { > DRM_ERROR("Failed to initialize parser !\n"); > - amdgpu_cs_parser_fini(&parser, r, false); > - r = amdgpu_cs_handle_lockup(adev, r); > - return r; > - } > - r = amdgpu_cs_parser_bos(&parser, data); > - if (r == -ENOMEM) > - DRM_ERROR("Not enough memory for command submission!\n"); > - else if (r && r != -ERESTARTSYS) > - DRM_ERROR("Failed to process the buffer list %d!\n", r); > - else if (!r) { > - reserved_buffers = true; > - r = amdgpu_cs_ib_fill(adev, &parser); > + goto out; > } > > - if (!r) { > - r = amdgpu_cs_dependencies(adev, &parser); > - if (r) > - DRM_ERROR("Failed in the dependencies handling %d!\n", r); > + r = amdgpu_cs_parser_bos(&parser, data); > + if (r) { > + if (r == -ENOMEM) > + DRM_ERROR("Not enough memory for command submission!\n"); > + else if (r != -ERESTARTSYS) > + DRM_ERROR("Failed to process the buffer list %d!\n", r); > + goto out; > } > > + reserved_buffers = true; > + r = amdgpu_cs_ib_fill(adev, &parser); > if (r) > goto out; > > + r = amdgpu_cs_dependencies(adev, &parser); > + if (r) { > + DRM_ERROR("Failed in the dependencies handling %d!\n", r); > + goto out; > + } > + > for (i = 0; i < parser.job->num_ibs; i++) > trace_amdgpu_cs(&parser, i); >