On 06/25/2018 05:07 PM, Michel Dänzer wrote: > 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) > > 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> Reviewed-by: Junwei Zhang <Jerry.Zhang at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index 590db78b8c72..579bcc33d544 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -1111,6 +1111,10 @@ int amdgpu_vm_update_directories(struct amdgpu_device *adev, > struct amdgpu_ring *ring; > struct dma_fence *fence; > > + r = reservation_object_reserve_shared(root->tbo.resv); > + if (r) > + goto error; > + > ring = container_of(vm->entity.sched, struct amdgpu_ring, > sched); > >