From c542cceee21b2aca1583cdfc6afddba9f11200ab Mon Sep 17 00:00:00 2001 From: Stanislaw Gruszka Date: Wed, 15 Oct 2008 22:03:43 -0700 Subject: [PATCH] --- yaml --- r: 114859 b: refs/heads/master c: f928ac0a9810d46c8ba3bde7c969984340da9f5d h: refs/heads/master i: 114857: 12e15483de7f58c10b0cf17147af0fef8de43005 114855: 0b21af6c5db8ef0378d9cbfd73be77617d000246 v: v3 --- [refs] | 2 +- trunk/drivers/video/atmel_lcdfb.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 90276313252f..adca23b6c92f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 486ff387c0f27030a3cfb142469ba140f2d8976e +refs/heads/master: f928ac0a9810d46c8ba3bde7c969984340da9f5d diff --git a/trunk/drivers/video/atmel_lcdfb.c b/trunk/drivers/video/atmel_lcdfb.c index d38fd5217422..f8d0a57a07cb 100644 --- a/trunk/drivers/video/atmel_lcdfb.c +++ b/trunk/drivers/video/atmel_lcdfb.c @@ -372,6 +372,13 @@ static int atmel_lcdfb_check_var(struct fb_var_screeninfo *var, var->transp.offset = var->transp.length = 0; var->xoffset = var->yoffset = 0; + if (info->fix.smem_len) { + unsigned int smem_len = (var->xres_virtual * var->yres_virtual + * ((var->bits_per_pixel + 7) / 8)); + if (smem_len > info->fix.smem_len) + return -EINVAL; + } + /* Saturate vertical and horizontal timings at maximum values */ var->vsync_len = min_t(u32, var->vsync_len, (ATMEL_LCDC_VPW >> ATMEL_LCDC_VPW_OFFSET) + 1);