]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm: avoid switching to text console if there is no panic timeout
authorHugh Dickins <hughd@chromium.org>
Wed, 16 Nov 2011 23:41:06 +0000 (10:41 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Mon, 21 Nov 2011 02:18:07 +0000 (13:18 +1100)
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.

[msb@chromium.org: edited commit message and modified to short-circuit panic_timeout < 0 instead of testing panic_timeout >= 0]
Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
Cc: Dave Airlie <airlied@redhat.com>
Acked-by: David Rientjes <rientjes@google.com>
Acked-by: Stéphane Marchesin <marcheu@chromium.org>
Cc: Dave Young <hidave.darkstar@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
drivers/gpu/drm/drm_fb_helper.c

index 80fe39d98b0c2e2ca7a22b762d3d9dcf87781d1c..aada26f63decc7a91d2803079dc9795d053ecdc2 100644 (file)
@@ -255,6 +255,13 @@ bool drm_fb_helper_force_kernel_mode(void)
 int drm_fb_helper_panic(struct notifier_block *n, unsigned long ununsed,
                        void *panic_str)
 {
+       /*
+        * It's a waste of time and effort to switch back to text console
+        * if the kernel should reboot before panic messages can be seen.
+        */
+       if (panic_timeout < 0)
+               return 0;
+
        printk(KERN_ERR "panic occurred, switching back to text console\n");
        return drm_fb_helper_force_kernel_mode();
 }