diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2016-07-13 06:15:04 -0400 |
---|---|---|
committer | Mark Yao <mark.yao@rock-chips.com> | 2016-07-18 21:42:39 -0400 |
commit | 15da78084d584977547e7ba46d8253c27d17507c (patch) | |
tree | 09a7c6858e114e5f6fbb0c932c454541965a0405 | |
parent | 44958207d6b21de71720189a4363b10d9e38a3b6 (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.c | 4 |
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; |