From: Olaf Hering err remains uninitialized of pci_request_regions fails. Found by Thorsten Kukuk, I added a few more checks. Signed-off-by: Olaf Hering Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton --- 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; _