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

Commit 89c69d2b authored by Ville Syrjala's avatar Ville Syrjala Committed by Linus Torvalds
Browse files

atyfb: report probe errors



Properly propagate errors to the probe function.

Signed-off-by: default avatarVille Syrjala <syrjala@sci.fi>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 6cfafc15
Loading
Loading
Loading
Loading
+10 −5
Original line number Original line Diff line number Diff line
@@ -2231,6 +2231,7 @@ static int __devinit aty_init(struct fb_info *info)
	const char *ramname = NULL, *xtal;
	const char *ramname = NULL, *xtal;
	int gtb_memsize, has_var = 0;
	int gtb_memsize, has_var = 0;
	struct fb_var_screeninfo var;
	struct fb_var_screeninfo var;
	int ret;


	init_waitqueue_head(&par->vblank.wait);
	init_waitqueue_head(&par->vblank.wait);
	spin_lock_init(&par->int_lock);
	spin_lock_init(&par->int_lock);
@@ -2612,7 +2613,8 @@ static int __devinit aty_init(struct fb_info *info)
			var.yres_virtual = var.yres;
			var.yres_virtual = var.yres;
	}
	}


	if (atyfb_check_var(&var, info)) {
	ret = atyfb_check_var(&var, info);
	if (ret) {
		PRINTKE("can't set default video mode\n");
		PRINTKE("can't set default video mode\n");
		goto aty_init_exit;
		goto aty_init_exit;
	}
	}
@@ -2623,10 +2625,12 @@ static int __devinit aty_init(struct fb_info *info)
#endif /* CONFIG_FB_ATY_CT */
#endif /* CONFIG_FB_ATY_CT */
	info->var = var;
	info->var = var;


	if (fb_alloc_cmap(&info->cmap, 256, 0) < 0)
	ret = fb_alloc_cmap(&info->cmap, 256, 0);
	if (ret < 0)
		goto aty_init_exit;
		goto aty_init_exit;


	if (register_framebuffer(info) < 0) {
	ret = register_framebuffer(info);
	if (ret < 0) {
		fb_dealloc_cmap(&info->cmap);
		fb_dealloc_cmap(&info->cmap);
		goto aty_init_exit;
		goto aty_init_exit;
	}
	}
@@ -2652,7 +2656,7 @@ aty_init_exit:
	    par->mtrr_aper = -1;
	    par->mtrr_aper = -1;
	}
	}
#endif
#endif
	return -1;
	return ret;
}
}


static void aty_resume_chip(struct fb_info *info)
static void aty_resume_chip(struct fb_info *info)
@@ -3467,7 +3471,8 @@ static int __devinit atyfb_pci_probe(struct pci_dev *pdev, const struct pci_devi
	pci_set_drvdata(pdev, info);
	pci_set_drvdata(pdev, info);


	/* Init chip & register framebuffer */
	/* Init chip & register framebuffer */
	if (aty_init(info))
	rc = aty_init(info);
	if (rc)
		goto err_release_io;
		goto err_release_io;


#ifdef __sparc__
#ifdef __sparc__