From: Hai Lan Date: Wed, 15 Feb 2012 11:07:02 +0000 (+0800) Subject: drm/i915: fix a sprite watermark computation to avoid divide by zero if xpos<0 X-Git-Tag: v3.3-rc6~19^2~4^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4e9bb47bd29e02f2daaa7bdb2a8ddf977bf76f06;p=profile%2Fivi%2Fkernel-adaptation-intel-automotive.git drm/i915: fix a sprite watermark computation to avoid divide by zero if xpos<0 When setting overlay position with x<0, it will divide 0 and make drm driver crash. Signed-off-by: Hai Lan Signed-off-by: Jesse Barnes --- diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index f3afec2..e654f32 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -4680,8 +4680,17 @@ sandybridge_compute_sprite_srwm(struct drm_device *dev, int plane, crtc = intel_get_crtc_for_plane(dev, plane); clock = crtc->mode.clock; + if (!clock) { + *sprite_wm = 0; + return false; + } line_time_us = (sprite_width * 1000) / clock; + if (!line_time_us) { + *sprite_wm = 0; + return false; + } + line_count = (latency_ns / line_time_us + 1000) / 1000; line_size = sprite_width * pixel_size;