On 07/04/2018 02:34 PM, Christian König wrote: > Am 04.07.2018 um 05:02 schrieb Junwei Zhang: >> From: Michel Dänzer <michel.daenzer at amd.com> >> >> Without this, there could not be enough slots, which could trigger the >> BUG_ON in reservation_object_add_shared_fence. >> >> v2: >> * Jump to the error label instead of returning directly (Jerry Zhang) >> v3: >> * Reserve slots for command submission after VM updates (Christian König) >> >> Cc: stable at vger.kernel.org >> Bugzilla: https://bugs.freedesktop.org/106418 >> Reported-by: mikhail.v.gavrilov at gmail.com >> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com> >> Signed-off-by: Junwei Zhang <Jerry.Zhang at amd.com> > > I would put that at the end of amdgpu_bo_vm_update_pte(), but that is only a minor nit pick. At first, I really put it at the end of amdgpu_bo_vm_update_pte(). On the 2nd thought, that func may be called by others(although it's not for now), so I move it out of there to the caller. Jerry > > Patch is Reviewed-by: Christian König <christian.koenig at amd.com> anyway. > > Regards, > Christian. > >> --- >> drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c >> index 7a625f3..1bc0281 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c >> @@ -928,6 +928,10 @@ static int amdgpu_cs_ib_vm_chunk(struct amdgpu_device *adev, >> r = amdgpu_bo_vm_update_pte(p); >> if (r) >> return r; >> + >> + r = reservation_object_reserve_shared(vm->root.base.bo->tbo.resv); >> + if (r) >> + return r; >> } >> return amdgpu_cs_sync_rings(p); >