From: Olaf Hering <olh@suse.de>

err remains uninitialized of pci_request_regions fails.

Found by Thorsten Kukuk, I added a few more checks.

Signed-off-by: Olaf Hering <olh@suse.de>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 drivers/video/savage/savagefb_driver.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff -puN drivers/video/savage/savagefb_driver.c~better-error-handing-in-savagefb_probe drivers/video/savage/savagefb_driver.c
--- devel/drivers/video/savage/savagefb_driver.c~better-error-handing-in-savagefb_probe	2005-08-30 00:02:30.000000000 -0700
+++ devel-akpm/drivers/video/savage/savagefb_driver.c	2005-08-30 00:02:30.000000000 -0700
@@ -1976,12 +1976,11 @@ static int __devinit savage_init_fb_info
 		info->pixmap.buf_align = 4;
 		info->pixmap.access_align = 32;
 
-		fb_alloc_cmap (&info->cmap, NR_PALETTE, 0);
+		err = fb_alloc_cmap (&info->cmap, NR_PALETTE, 0);
+		if (!err)
 		info->flags |= FBINFO_HWACCEL_COPYAREA |
 	                       FBINFO_HWACCEL_FILLRECT |
 		               FBINFO_HWACCEL_IMAGEBLIT;
-
-		err = 0;
 	}
 #endif
 	return err;
@@ -2009,14 +2008,14 @@ static int __devinit savagefb_probe (str
 	if (err)
 		goto failed_enable;
 
-	if (pci_request_regions(dev, "savagefb")) {
+	if ((err = pci_request_regions(dev, "savagefb"))) {
 		printk(KERN_ERR "cannot request PCI regions\n");
 		goto failed_enable;
 	}
 
 	err = -ENOMEM;
 
-	if (savage_init_fb_info(info, dev, id))
+	if ((err = savage_init_fb_info(info, dev, id)))
 		goto failed_init;
 
 	err = savage_map_mmio(info);
@@ -2024,6 +2023,7 @@ static int __devinit savagefb_probe (str
 		goto failed_mmio;
 
 	video_len = savage_init_hw(par);
+	/* FIXME: cant be negative */
 	if (video_len < 0) {
 		err = video_len;
 		goto failed_mmio;
_