Fix a division by 0 case : in some cases, when the HQVDP plane is being
disabled atomic_check() is called with "mode->clock = 0".
In that case, do not check for scaling capabilities.

Change-Id: I7fb752ab394211c3deafa149f52cfb2bca244e84
Signed-off-by: Fabien Dessenne <fabien.dessenne at st.com>
---
 drivers/gpu/drm/sti/sti_hqvdp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c
index 3fd6f3a..fe36e0f 100644
--- a/drivers/gpu/drm/sti/sti_hqvdp.c
+++ b/drivers/gpu/drm/sti/sti_hqvdp.c
@@ -1035,9 +1035,9 @@ static int sti_hqvdp_atomic_check(struct drm_plane 
*drm_plane,
        src_w = state->src_w >> 16;
        src_h = state->src_h >> 16;

-       if (!sti_hqvdp_check_hw_scaling(hqvdp, mode,
-                                       src_w, src_h,
-                                       dst_w, dst_h)) {
+       if (mode->clock && !sti_hqvdp_check_hw_scaling(hqvdp, mode,
+                                                      src_w, src_h,
+                                                      dst_w, dst_h)) {
                DRM_ERROR("Scaling beyond HW capabilities\n");
                return -EINVAL;
        }
-- 
2.7.4

Reply via email to