diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-07-24 18:19:13 +1000 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2012-07-29 12:25:06 +0000 |
commit | 3f6a5580464bf000649f981970192c6c7fe739de (patch) | |
tree | cf417f11e52aadf99a5a17afa4892f8cdda2a78d /drivers/video/fb_draw.h | |
parent | f7c848b6ef31af09925bb6f4c79e236ca9f94ed9 (diff) | |
download | lwn-3f6a5580464bf000649f981970192c6c7fe739de.tar.gz lwn-3f6a5580464bf000649f981970192c6c7fe739de.zip |
fbdev: Make pixel_to_pat() failure mode more friendly
If we accidentally pass an incorrect bpp value to pixel_to_pat(),
it panics. This is pretty useless, as we generally have the various
console locks held at that point, so nothing will be displayed,
and there is no reason to make this a fatal event.
Let's WARN instead.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Diffstat (limited to 'drivers/video/fb_draw.h')
-rw-r--r-- | drivers/video/fb_draw.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/video/fb_draw.h b/drivers/video/fb_draw.h index 04c01faaf772..624ee115f129 100644 --- a/drivers/video/fb_draw.h +++ b/drivers/video/fb_draw.h @@ -3,6 +3,7 @@ #include <asm/types.h> #include <linux/fb.h> +#include <linux/bug.h> /* * Compose two values, using a bitmask as decision value @@ -41,7 +42,8 @@ pixel_to_pat( u32 bpp, u32 pixel) case 32: return 0x0000000100000001ul*pixel; default: - panic("pixel_to_pat(): unsupported pixelformat\n"); + WARN(1, "pixel_to_pat(): unsupported pixelformat %d\n", bpp); + return 0; } } #else @@ -66,7 +68,8 @@ pixel_to_pat( u32 bpp, u32 pixel) case 32: return 0x00000001ul*pixel; default: - panic("pixel_to_pat(): unsupported pixelformat\n"); + WARN(1, "pixel_to_pat(): unsupported pixelformat %d\n", bpp); + return 0; } } #endif |