[SCSI] eata: fix buffer overflow
[safe/jmp/linux-2.6] / drivers / video / carminefb.c
index e15bb44..0c02f8e 100644 (file)
@@ -168,7 +168,7 @@ static int carmine_setcolreg(unsigned regno, unsigned red, unsigned green,
        blue >>= 8;
        transp >>= 8;
 
-       ((u32 *)info->pseudo_palette)[regno] = be32_to_cpu(transp << 24 |
+       ((__be32 *)info->pseudo_palette)[regno] = cpu_to_be32(transp << 24 |
                red << 0 | green << 8 | blue << 16);
        return 0;
 }
@@ -535,7 +535,7 @@ static struct fb_ops carminefb_ops = {
        .fb_setcolreg   = carmine_setcolreg,
 };
 
-static int alloc_carmine_fb(void __iomem *regs, void __iomem *smem_base,
+static int __devinit alloc_carmine_fb(void __iomem *regs, void __iomem *smem_base,
                int smem_offset, struct device *device, struct fb_info **rinfo)
 {
        int ret;
@@ -562,7 +562,7 @@ static int alloc_carmine_fb(void __iomem *regs, void __iomem *smem_base,
        if (ret < 0)
                goto err_free_fb;
 
-       if (fb_mode > ARRAY_SIZE(carmine_modedb))
+       if (fb_mode >= ARRAY_SIZE(carmine_modedb))
                fb_mode = CARMINEFB_DEFAULT_VIDEO_MODE;
 
        par->cur_mode = par->new_mode = ~0;