Michel Thierry <michel.thierry@xxxxxxxxx> writes: > If for some reason [1], the page directory/table does not exist, clear_range > would end up in an infinite while loop. > > Introduced by commit 06fda602dbca ("drm/i915: Create page table allocators"). > > [1] This is already being addressed in one of Mika's patches: > http://mid.gmane.org/1432314314-23530-17-git-send-email-mika.kuoppala@xxxxxxxxx > We need both. > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > Reported-by: John Harrison <john.c.harrison@xxxxxxxxx> > Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index 2279e03..5dbe928 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -517,17 +517,17 @@ static void gen8_ppgtt_clear_range(struct i915_address_space *vm, > struct page *page_table; > > if (WARN_ON(!ppgtt->pdp.page_directory[pdpe])) > - continue; > + break; > > pd = ppgtt->pdp.page_directory[pdpe]; > > if (WARN_ON(!pd->page_table[pde])) > - continue; > + break; > > pt = pd->page_table[pde]; > > if (WARN_ON(!pt->page)) > - continue; > + break; > > page_table = pt->page; > > -- > 2.4.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx