diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2001-01-31 22:22:27 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2001-01-31 22:22:27 +0000 |
commit | 825423e4c4f18289df2393951cfd2a7a31fc0464 (patch) | |
tree | 4ad80e981c3d9effa910d2247d118d254f9a5d09 /drivers/video | |
parent | c4693dc4856ab907a5c02187a8d398861bebfc7e (diff) |
Merge with Linux 2.4.1.
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/sbusfb.c | 6 | ||||
-rw-r--r-- | drivers/video/vfb.c | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/video/sbusfb.c b/drivers/video/sbusfb.c index f9fa0d213..4d5b66386 100644 --- a/drivers/video/sbusfb.c +++ b/drivers/video/sbusfb.c @@ -678,7 +678,7 @@ static int sbusfb_ioctl(struct inode *inode, struct file *file, u_int cmd, int end, count, index; struct fbcmap *cmap; - if (!fb->loadcmap) + if (!fb->loadcmap || !fb->color_map) return -EINVAL; i = verify_area (VERIFY_READ, (void *) arg, sizeof (struct fbcmap)); if (i) return i; @@ -1110,6 +1110,8 @@ sizechange: } if (!p) { + if (fb->color_map) + kfree(fb->color_map); kfree(fb); return; } @@ -1147,6 +1149,8 @@ sizechange: sbusfb_set_var(var, -1, &fb->info); if (register_framebuffer(&fb->info) < 0) { + if (fb->color_map) + kfree(fb->color_map); kfree(fb); return; } diff --git a/drivers/video/vfb.c b/drivers/video/vfb.c index 8833cbeac..b494e25c6 100644 --- a/drivers/video/vfb.c +++ b/drivers/video/vfb.c @@ -461,7 +461,7 @@ static u_long get_line_length(int xres_virtual, int bpp) { u_long length; - length = (xres_virtual+bpp-1)/bpp; + length = xres_virtual*bpp; length = (length+31)&-32; length >>= 3; return(length); |