Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -1976,12 +1976,11 @@ static int __devinit savage_init_fb_info (struct fb_info *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 (struct pci_dev* dev,
	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 (struct pci_dev* dev,
		goto failed_mmio;

	video_len = savage_init_hw(par);
	/* FIXME: cant be negative */
	if (video_len < 0) {
		err = video_len;
		goto failed_mmio;