提交 10291bff 编写于 作者: R Rob Clark

drm/msm: bit of fb error checking

It's a problem that can't happen yet, since we don't support any
multi-planar formats yet.  But let's avoid nasty surprises when the
time comes.
Signed-off-by: NRob Clark <robdclark@gmail.com>
上级 2638d90a
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
struct msm_framebuffer { struct msm_framebuffer {
struct drm_framebuffer base; struct drm_framebuffer base;
const struct msm_format *format; const struct msm_format *format;
struct drm_gem_object *planes[2]; struct drm_gem_object *planes[3];
}; };
#define to_msm_framebuffer(x) container_of(x, struct msm_framebuffer, base) #define to_msm_framebuffer(x) container_of(x, struct msm_framebuffer, base)
...@@ -202,6 +202,11 @@ struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev, ...@@ -202,6 +202,11 @@ struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev,
msm_fb->format = format; msm_fb->format = format;
if (n > ARRAY_SIZE(msm_fb->planes)) {
ret = -EINVAL;
goto fail;
}
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
unsigned int width = mode_cmd->width / (i ? hsub : 1); unsigned int width = mode_cmd->width / (i ? hsub : 1);
unsigned int height = mode_cmd->height / (i ? vsub : 1); unsigned int height = mode_cmd->height / (i ? vsub : 1);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册