mbxfb: fix incorrect argument type
[safe/jmp/linux-2.6] / drivers / video / sm501fb.c
index 6e7810d..742b5c6 100644 (file)
@@ -237,12 +237,14 @@ static int sm501fb_check_var(struct fb_var_screeninfo *var,
 
        /* check we can fit these values into the registers */
 
-       if (var->hsync_len > 255 || var->vsync_len > 255)
+       if (var->hsync_len > 255 || var->vsync_len > 63)
                return -EINVAL;
 
-       if ((var->xres + var->right_margin) >= 4096)
+       /* hdisplay end and hsync start */
+       if ((var->xres + var->right_margin) > 4096)
                return -EINVAL;
 
+       /* vdisplay end and vsync start */
        if ((var->yres + var->lower_margin) > 2048)
                return -EINVAL;
 
@@ -281,19 +283,21 @@ static int sm501fb_check_var(struct fb_var_screeninfo *var,
                var->blue.length        = var->bits_per_pixel;
                var->blue.offset        = 0;
                var->transp.length      = 0;
+               var->transp.offset      = 0;
 
                break;
 
        case 16:
                if (sm->pdata->flags & SM501_FBPD_SWAP_FB_ENDIAN) {
-                       var->red.offset         = 11;
-                       var->green.offset       = 5;
-                       var->blue.offset        = 0;
-               } else {
                        var->blue.offset        = 11;
                        var->green.offset       = 5;
                        var->red.offset         = 0;
+               } else {
+                       var->red.offset         = 11;
+                       var->green.offset       = 5;
+                       var->blue.offset        = 0;
                }
+               var->transp.offset      = 0;
 
                var->red.length         = 5;
                var->green.length       = 6;