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

Commit a707642a authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Paul Mundt
Browse files

fbdev/amifb: Do not call panic() if there's not enough Chip RAM



Fail gracefully instead.

Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent e3e4e9c6
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -2230,8 +2230,10 @@ static inline u_long __init chipalloc(u_long size)
{
	size += PAGE_SIZE-1;
	if (!(unaligned_chipptr = (u_long)amiga_chip_alloc(size,
							   "amifb [RAM]")))
		panic("No Chip RAM for frame buffer");
							   "amifb [RAM]"))) {
		pr_err("amifb: No Chip RAM for frame buffer");
		return 0;
	}
	memset((void *)unaligned_chipptr, 0, size);
	return PAGE_ALIGN(unaligned_chipptr);
}
@@ -2385,6 +2387,10 @@ static int __init amifb_probe(struct platform_device *pdev)
	                    DUMMYSPRITEMEMSIZE+
	                    COPINITSIZE+
	                    4*COPLISTSIZE);
	if (!chipptr) {
		err = -ENOMEM;
		goto amifb_error;
	}

	assignchunk(videomemory, u_long, chipptr, fb_info.fix.smem_len);
	assignchunk(spritememory, u_long, chipptr, SPRITEMEMSIZE);