Michel Thierry <michel.thie...@intel.com> 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.kuopp...@intel.com >
We need both. > Cc: Mika Kuoppala <mika.kuopp...@linux.intel.com> > Reported-by: John Harrison <john.c.harri...@intel.com> > Signed-off-by: Michel Thierry <michel.thie...@intel.com> Reviewed-by: Mika Kuoppala <mika.kuopp...@intel.com> > --- > 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@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx