
From: "Antonino A. Daplas" <adaplas@hotpop.com>

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 <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 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();
 
_
