]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/video/console/fbcon_ud.c
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
[linux-2.6-omap-h63xx.git] / drivers / video / console / fbcon_ud.c
index c4d7c89212b4bfaa116750c9111124d09bd65714..9dd059e8b64515f16f2b162adf91d465a1400b42 100644 (file)
@@ -420,13 +420,15 @@ static void ud_cursor(struct vc_data *vc, struct fb_info *info,
 int ud_update_start(struct fb_info *info)
 {
        struct fbcon_ops *ops = info->fbcon_par;
-       u32 xoffset, yoffset;
+       int xoffset, yoffset;
        u32 vyres = GETVYRES(ops->p->scrollmode, info);
        u32 vxres = GETVXRES(ops->p->scrollmode, info);
        int err;
 
-       xoffset = (vxres - info->var.xres) - ops->var.xoffset;
-       yoffset = (vyres - info->var.yres) - ops->var.yoffset;
+       xoffset = vxres - info->var.xres - ops->var.xoffset;
+       yoffset = vyres - info->var.yres - ops->var.yoffset;
+       if (yoffset < 0)
+               yoffset += vyres;
        ops->var.xoffset = xoffset;
        ops->var.yoffset = yoffset;
        err = fb_pan_display(info, &ops->var);