drm/i915: Reject fence stride=0 on gen4+
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 9 Apr 2013 17:09:13 +0000 (20:09 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 18 Apr 2013 07:43:19 +0000 (09:43 +0200)
Our checks for an invalid fence stride forgot to guard against
zero stride on gen4+. Fix it.

v2: Avoid duplicated code (danvet)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_tiling.c

index c807eb93755b7f00ac3f785e251684ecaf25fed6..b56185f4babb613410285ffe7ba85ecb21c52330 100644 (file)
@@ -235,6 +235,9 @@ i915_tiling_ok(struct drm_device *dev, int stride, int size, int tiling_mode)
                }
        }
 
+       if (stride < tile_width)
+               return false;
+
        /* 965+ just needs multiples of tile width */
        if (INTEL_INFO(dev)->gen >= 4) {
                if (stride & (tile_width - 1))
@@ -243,9 +246,6 @@ i915_tiling_ok(struct drm_device *dev, int stride, int size, int tiling_mode)
        }
 
        /* Pre-965 needs power of two tile widths */
-       if (stride < tile_width)
-               return false;
-
        if (stride & (stride - 1))
                return false;