diff options
author | Antonino A. Daplas <adaplas@gmail.com> | 2007-07-17 13:05:36 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-17 19:23:12 +0200 |
commit | 4a1b92793a0824d31f165fe3a97634dbb9a3ae18 (patch) | |
tree | 04dc283cc826381b6a3e72c68c40c33a7711f4d9 | |
parent | cyblafb: fix pseudo_palette array overrun in setcolreg (diff) | |
download | linux-4a1b92793a0824d31f165fe3a97634dbb9a3ae18.tar.xz linux-4a1b92793a0824d31f165fe3a97634dbb9a3ae18.zip |
epson1355fb: color setting fixes
- the pseudo_palette is only 16 elements long
- allocate the pseudo_palette as part of epson1355_par
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | drivers/video/epson1355fb.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/video/epson1355fb.c b/drivers/video/epson1355fb.c index ca2c54ce508e..67f58bae384d 100644 --- a/drivers/video/epson1355fb.c +++ b/drivers/video/epson1355fb.c @@ -63,6 +63,7 @@ struct epson1355_par { unsigned long reg_addr; + u32 pseudo_palette[16]; }; /* ------------------------------------------------------------------------- */ @@ -635,7 +636,7 @@ int __init epson1355fb_probe(struct platform_device *dev) goto bail; } - info = framebuffer_alloc(sizeof(struct epson1355_par) + sizeof(u32) * 256, &dev->dev); + info = framebuffer_alloc(sizeof(struct epson1355_par), &dev->dev); if (!info) { rc = -ENOMEM; goto bail; @@ -648,7 +649,7 @@ int __init epson1355fb_probe(struct platform_device *dev) rc = -ENOMEM; goto bail; } - info->pseudo_palette = (void *)(default_par + 1); + info->pseudo_palette = default_par->pseudo_palette; info->screen_base = ioremap(EPSON1355FB_FB_PHYS, EPSON1355FB_FB_LEN); if (!info->screen_base) { |