From: "Antonino A. Daplas" The Geforce2 cards crashes at 800x600-8, but not at 640x480 or 1024x768. Changing the xres_virtual to be divisible by 64 fixes the problem. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton --- 25-akpm/drivers/video/nvidia/nvidia.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff -puN drivers/video/nvidia/nvidia.c~nvidiafb-some-chipsets-need-a-buffer-pitch-divisible-by-64 drivers/video/nvidia/nvidia.c --- 25/drivers/video/nvidia/nvidia.c~nvidiafb-some-chipsets-need-a-buffer-pitch-divisible-by-64 Sun Mar 6 17:18:07 2005 +++ 25-akpm/drivers/video/nvidia/nvidia.c Sun Mar 6 17:18:07 2005 @@ -1099,7 +1099,6 @@ static int nvidiafb_check_var(struct fb_ var->transp.length = 0; var->xres &= ~7; - var->xres_virtual &= ~7; if (var->bits_per_pixel <= 8) var->bits_per_pixel = 8; @@ -1179,6 +1178,8 @@ static int nvidiafb_check_var(struct fb_ if (var->xres_virtual < var->xres) var->xres_virtual = var->xres; + var->xres_virtual = (var->xres_virtual + 63) & ~63; + vramlen = info->fix.smem_len; pitch = ((var->xres_virtual * var->bits_per_pixel) + 7) / 8; memlen = pitch * var->yres_virtual; @@ -1212,7 +1213,7 @@ static int nvidiafb_check_var(struct fb_ var->xres_virtual = 0x7fff; } - var->xres_virtual &= ~8; + var->xres_virtual &= ~63; NVTRACE_LEAVE(); _