aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2016-07-13 06:15:04 -0400
committerMark Yao <mark.yao@rock-chips.com>2016-07-18 21:42:39 -0400
commit15da78084d584977547e7ba46d8253c27d17507c (patch)
tree09a7c6858e114e5f6fbb0c932c454541965a0405
parent44958207d6b21de71720189a4363b10d9e38a3b6 (diff)
drm/rockchip: fix a couple off by one bugs
The priv->crtc_funcs[] array has ROCKCHIP_MAX_CRTC elements so > should be >= here. Fixes: 2048e3286f34 ('drm: rockchip: Add basic drm driver') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Sean Paul <seanpaul@chromium.org>
-rw-r--r--drivers/gpu/drm/rockchip/rockchip_drm_drv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index 810042be40fd..a822d49a255a 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -79,7 +79,7 @@ int rockchip_register_crtc_funcs(struct drm_crtc *crtc,
79 int pipe = drm_crtc_index(crtc); 79 int pipe = drm_crtc_index(crtc);
80 struct rockchip_drm_private *priv = crtc->dev->dev_private; 80 struct rockchip_drm_private *priv = crtc->dev->dev_private;
81 81
82 if (pipe > ROCKCHIP_MAX_CRTC) 82 if (pipe >= ROCKCHIP_MAX_CRTC)
83 return -EINVAL; 83 return -EINVAL;
84 84
85 priv->crtc_funcs[pipe] = crtc_funcs; 85 priv->crtc_funcs[pipe] = crtc_funcs;
@@ -92,7 +92,7 @@ void rockchip_unregister_crtc_funcs(struct drm_crtc *crtc)
92 int pipe = drm_crtc_index(crtc); 92 int pipe = drm_crtc_index(crtc);
93 struct rockchip_drm_private *priv = crtc->dev->dev_private; 93 struct rockchip_drm_private *priv = crtc->dev->dev_private;
94 94
95 if (pipe > ROCKCHIP_MAX_CRTC) 95 if (pipe >= ROCKCHIP_MAX_CRTC)
96 return; 96 return;
97 97
98 priv->crtc_funcs[pipe] = NULL; 98 priv->crtc_funcs[pipe] = NULL;