diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-05-18 00:37:02 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-05-18 00:37:02 +0100 |
commit | 4b2cc4a30a78eda5b747932226cf16edd8c125b6 (patch) | |
tree | b7412a5ac3b7911e1590dd81059ca0277725b178 /sys-kernel/linux-image-redcore-lts/files/4.14-0010-Don-t-use-hrtimer-overlay-when-pm_freezing-since-som.patch | |
parent | be8120dc323a345ad0eb2d0f25d62ea8f824d74c (diff) |
sys-kernel/linux-{image,sources}-redcore-lts : drop 4.14
Diffstat (limited to 'sys-kernel/linux-image-redcore-lts/files/4.14-0010-Don-t-use-hrtimer-overlay-when-pm_freezing-since-som.patch')
-rw-r--r-- | sys-kernel/linux-image-redcore-lts/files/4.14-0010-Don-t-use-hrtimer-overlay-when-pm_freezing-since-som.patch | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/sys-kernel/linux-image-redcore-lts/files/4.14-0010-Don-t-use-hrtimer-overlay-when-pm_freezing-since-som.patch b/sys-kernel/linux-image-redcore-lts/files/4.14-0010-Don-t-use-hrtimer-overlay-when-pm_freezing-since-som.patch deleted file mode 100644 index 260bb98d..00000000 --- a/sys-kernel/linux-image-redcore-lts/files/4.14-0010-Don-t-use-hrtimer-overlay-when-pm_freezing-since-som.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 071486de633698dcdd163295173ce4663ec9158c Mon Sep 17 00:00:00 2001 -From: Con Kolivas <kernel@kolivas.org> -Date: Mon, 20 Feb 2017 13:32:58 +1100 -Subject: [PATCH 10/16] Don't use hrtimer overlay when pm_freezing since some - drivers still don't correctly use freezable timeouts. - ---- - kernel/time/hrtimer.c | 2 +- - kernel/time/timer.c | 9 +++++---- - 2 files changed, 6 insertions(+), 5 deletions(-) - -diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c -index 13227cf2814c..66456c72bace 100644 ---- a/kernel/time/hrtimer.c -+++ b/kernel/time/hrtimer.c -@@ -1809,7 +1809,7 @@ long __sched schedule_msec_hrtimeout(long timeout) - * (yet) better than Hz, as would occur during startup, use regular - * timers. - */ -- if (jiffs > 4 || hrtimer_resolution >= NSEC_PER_SEC / HZ) -+ if (jiffs > 4 || hrtimer_resolution >= NSEC_PER_SEC / HZ || pm_freezing) - return schedule_timeout(jiffs); - - secs = timeout / 1000; -diff --git a/kernel/time/timer.c b/kernel/time/timer.c -index c68cb9307f64..2f2c96b03efe 100644 ---- a/kernel/time/timer.c -+++ b/kernel/time/timer.c -@@ -44,6 +44,7 @@ - #include <linux/sched/debug.h> - #include <linux/slab.h> - #include <linux/compat.h> -+#include <linux/freezer.h> - - #include <linux/uaccess.h> - #include <asm/unistd.h> -@@ -1891,12 +1892,12 @@ void msleep(unsigned int msecs) - * Use high resolution timers where the resolution of tick based - * timers is inadequate. - */ -- if (jiffs < 5 && hrtimer_resolution < NSEC_PER_SEC / HZ) { -+ if (jiffs < 5 && hrtimer_resolution < NSEC_PER_SEC / HZ && !pm_freezing) { - while (msecs) - msecs = schedule_msec_hrtimeout_uninterruptible(msecs); - return; - } -- timeout = msecs_to_jiffies(msecs) + 1; -+ timeout = jiffs + 1; - - while (timeout) - timeout = schedule_timeout_uninterruptible(timeout); -@@ -1913,12 +1914,12 @@ unsigned long msleep_interruptible(unsigned int msecs) - int jiffs = msecs_to_jiffies(msecs); - unsigned long timeout; - -- if (jiffs < 5 && hrtimer_resolution < NSEC_PER_SEC / HZ) { -+ if (jiffs < 5 && hrtimer_resolution < NSEC_PER_SEC / HZ && !pm_freezing) { - while (msecs && !signal_pending(current)) - msecs = schedule_msec_hrtimeout_interruptible(msecs); - return msecs; - } -- timeout = msecs_to_jiffies(msecs) + 1; -+ timeout = jiffs + 1; - - while (timeout && !signal_pending(current)) - timeout = schedule_timeout_interruptible(timeout); --- -2.11.0 - |