On Tue, May 5, 2015 at 3:52 AM, Christian König <deathsimple at vodafone.de> wrote: > From: Christian König <christian.koenig at amd.com> > > We shouldn't try to reserve and wait for a BO that isn't bound. Otherwise > we can run into a deadlock if we have a fault during binding the BO. > > Signed-off-by: Christian König <christian.koenig at amd.com>
Applied to my -fixes tree. Thanks, Alex > --- > drivers/gpu/drm/radeon/radeon_mn.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/radeon/radeon_mn.c > b/drivers/gpu/drm/radeon/radeon_mn.c > index 535bf40..eef006c 100644 > --- a/drivers/gpu/drm/radeon/radeon_mn.c > +++ b/drivers/gpu/drm/radeon/radeon_mn.c > @@ -142,6 +142,9 @@ static void radeon_mn_invalidate_range_start(struct > mmu_notifier *mn, > > list_for_each_entry(bo, &node->bos, mn_list) { > > + if (!bo->tbo.ttm || bo->tbo.ttm->state != tt_bound) > + continue; > + > r = radeon_bo_reserve(bo, true); > if (r) { > DRM_ERROR("(%ld) failed to reserve user > bo\n", r); > -- > 1.9.1 >