summaryrefslogtreecommitdiff
path: root/sys-kernel/linux-image-redcore/files/5.1-0011-Don-t-use-hrtimer-overlay-when-pm_freezing-since-som.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/linux-image-redcore/files/5.1-0011-Don-t-use-hrtimer-overlay-when-pm_freezing-since-som.patch')
-rw-r--r--sys-kernel/linux-image-redcore/files/5.1-0011-Don-t-use-hrtimer-overlay-when-pm_freezing-since-som.patch69
1 files changed, 0 insertions, 69 deletions
diff --git a/sys-kernel/linux-image-redcore/files/5.1-0011-Don-t-use-hrtimer-overlay-when-pm_freezing-since-som.patch b/sys-kernel/linux-image-redcore/files/5.1-0011-Don-t-use-hrtimer-overlay-when-pm_freezing-since-som.patch
deleted file mode 100644
index a18d030a..00000000
--- a/sys-kernel/linux-image-redcore/files/5.1-0011-Don-t-use-hrtimer-overlay-when-pm_freezing-since-som.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 876598b9dbe9c1f27feae36c2e2deacdd4beaf9d Mon Sep 17 00:00:00 2001
-From: Con Kolivas <kernel@kolivas.org>
-Date: Mon, 20 Feb 2017 13:32:58 +1100
-Subject: [PATCH 11/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 c6ea49693bca..17ad543fbbc4 100644
---- a/kernel/time/hrtimer.c
-+++ b/kernel/time/hrtimer.c
-@@ -2039,7 +2039,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 3ab277ba0f44..28509c518461 100644
---- a/kernel/time/timer.c
-+++ b/kernel/time/timer.c
-@@ -43,6 +43,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>
-@@ -1971,12 +1972,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);
-@@ -1993,12 +1994,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.17.1
-