summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabien DESSENNE <fabien.dessenne@st.com>2017-01-12 19:27:37 +0300
committerVincent Abriou <vincent.abriou@st.com>2017-02-10 11:34:39 +0300
commit6801723b0187c0bb0803758b7b7ef14ba22fdcf2 (patch)
tree7696405c5238cb7d041bc64a6c7eb337adf295c8
parentc62052d1469d283aff31527bfdccd9da08a46005 (diff)
downloadlinux-6801723b0187c0bb0803758b7b7ef14ba22fdcf2.tar.xz
drm/sti: do not check hw scaling if mode is not set
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. Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com> Acked-by: Vincent Abriou <vincent.abriou@st.com>
-rw-r--r--drivers/gpu/drm/sti/sti_hqvdp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c
index 4376fd8a8e52..66f843148ef7 100644
--- a/drivers/gpu/drm/sti/sti_hqvdp.c
+++ b/drivers/gpu/drm/sti/sti_hqvdp.c
@@ -1037,9 +1037,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;
}