Commit 6062bfa1 authored by Olaf Hering's avatar Olaf Hering Committed by Linus Torvalds

[PATCH] better error handing in savagefb_probe

err remains uninitialized of pci_request_regions fails.

Found by Thorsten Kukuk, I added a few more checks.
Signed-off-by: default avatarOlaf Hering <olh@suse.de>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 544393fe
...@@ -1976,12 +1976,11 @@ static int __devinit savage_init_fb_info (struct fb_info *info, ...@@ -1976,12 +1976,11 @@ static int __devinit savage_init_fb_info (struct fb_info *info,
info->pixmap.buf_align = 4; info->pixmap.buf_align = 4;
info->pixmap.access_align = 32; 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 | info->flags |= FBINFO_HWACCEL_COPYAREA |
FBINFO_HWACCEL_FILLRECT | FBINFO_HWACCEL_FILLRECT |
FBINFO_HWACCEL_IMAGEBLIT; FBINFO_HWACCEL_IMAGEBLIT;
err = 0;
} }
#endif #endif
return err; return err;
...@@ -2009,14 +2008,14 @@ static int __devinit savagefb_probe (struct pci_dev* dev, ...@@ -2009,14 +2008,14 @@ static int __devinit savagefb_probe (struct pci_dev* dev,
if (err) if (err)
goto failed_enable; goto failed_enable;
if (pci_request_regions(dev, "savagefb")) { if ((err = pci_request_regions(dev, "savagefb"))) {
printk(KERN_ERR "cannot request PCI regions\n"); printk(KERN_ERR "cannot request PCI regions\n");
goto failed_enable; goto failed_enable;
} }
err = -ENOMEM; err = -ENOMEM;
if (savage_init_fb_info(info, dev, id)) if ((err = savage_init_fb_info(info, dev, id)))
goto failed_init; goto failed_init;
err = savage_map_mmio(info); err = savage_map_mmio(info);
...@@ -2024,6 +2023,7 @@ static int __devinit savagefb_probe (struct pci_dev* dev, ...@@ -2024,6 +2023,7 @@ static int __devinit savagefb_probe (struct pci_dev* dev,
goto failed_mmio; goto failed_mmio;
video_len = savage_init_hw(par); video_len = savage_init_hw(par);
/* FIXME: cant be negative */
if (video_len < 0) { if (video_len < 0) {
err = video_len; err = video_len;
goto failed_mmio; goto failed_mmio;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment