diff options
author | Guenter Roeck <linux@roeck-us.net> | 2015-08-22 11:10:47 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2015-08-22 11:57:50 +0300 |
commit | 85e1cd6e769dfc84995270d0a4838021fcb8602d (patch) | |
tree | b2b2efa20c71e9e930f13765d0c976c5e619400b /kernel | |
parent | 05ddaa4d6d3806bebdf14f7c5de742a6e0e3b689 (diff) | |
download | linux-85e1cd6e769dfc84995270d0a4838021fcb8602d.tar.xz |
hrtimer: Handle failure of tick_init_highres() gracefully
Commit 75e3b37d0598 ("hrtimer: Drop return code of hrtimer_switch_to_hres()")
drops the return code of hrtimer_switch_to_hres(). While doing so, it also
drops the return statement itself on failure. This may cause a system hang.
Seen when running arm:multi_v7_defconfig in qemu with devicetree file
vexpress-v2p-ca9.
Fixes: 75e3b37d0598 ("hrtimer: Drop return code of hrtimer_switch_to_hres()")
Cc: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Link: http://lkml.kernel.org/r/1440231047-16256-1-git-send-email-linux@roeck-us.net
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/time/hrtimer.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c index 5c4fe50e47d3..457a373e2181 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c @@ -695,6 +695,7 @@ static void hrtimer_switch_to_hres(void) if (tick_init_highres()) { printk(KERN_WARNING "Could not switch to high resolution " "mode on CPU %d\n", base->cpu); + return; } base->hres_active = 1; hrtimer_resolution = HIGH_RES_NSEC; |