aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugh Dickins <hughd@chromium.org>2011-10-17 20:06:40 -0400
committerDave Airlie <airlied@redhat.com>2011-11-10 16:27:34 -0500
commitd68752cf7bb92eafbbe6a0df0d0fab67e87523f6 (patch)
tree19ea6aaef4db1dbb9b12e7271e6da497d9e59ab1
parent1ea6b8f48918282bdca0b32a34095504ee65bab5 (diff)
drm: avoid switching to text console if there is no panic timeout
Add a check for panic_timeout in the drm_fb_helper_panic() notifier: if we're going to reboot immediately, the user will not be able to see the messages anyway, and messing with the video mode may display artifacts, and certainly get into several layers of complexity (including mutexes and memory allocations) which we shall be much safer to avoid. Signed-off-by: Hugh Dickins <hughd@google.com> [ Edited commit message and modified to short-circuit panic_timeout < 0 instead of testing panic_timeout >= 0. -Mandeep ] Signed-off-by: Mandeep Singh Baines <msb@chromium.org> Acked-by: David Rientjes <rientjes@google.com> Acked-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/drm_fb_helper.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 80fe39d98b0c..aada26f63dec 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -255,6 +255,13 @@ bool drm_fb_helper_force_kernel_mode(void)
255int drm_fb_helper_panic(struct notifier_block *n, unsigned long ununsed, 255int drm_fb_helper_panic(struct notifier_block *n, unsigned long ununsed,
256 void *panic_str) 256 void *panic_str)
257{ 257{
258 /*
259 * It's a waste of time and effort to switch back to text console
260 * if the kernel should reboot before panic messages can be seen.
261 */
262 if (panic_timeout < 0)
263 return 0;
264
258 printk(KERN_ERR "panic occurred, switching back to text console\n"); 265 printk(KERN_ERR "panic occurred, switching back to text console\n");
259 return drm_fb_helper_force_kernel_mode(); 266 return drm_fb_helper_force_kernel_mode();
260} 267}