summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCon Kolivas <kernel@kolivas.org>2016-10-13 11:27:40 +1100
committerCon Kolivas <kernel@kolivas.org>2016-10-13 11:38:11 +1100
commit916b536ed023950d471e5cf89f92cad4ca7861e3 (patch)
tree5a80c6aff7132e47e8000680152f730a3d3e6378
parent18041630f7851a7b90498e63825204b2ce114a6b (diff)
Fix suspend and resume.
-rw-r--r--kernel/sched/MuQSS.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/sched/MuQSS.c b/kernel/sched/MuQSS.c
index 74e0f003ac62..61f2f433c189 100644
--- a/kernel/sched/MuQSS.c
+++ b/kernel/sched/MuQSS.c
@@ -1296,7 +1296,7 @@ void set_task_cpu(struct task_struct *p, unsigned int cpu)
*/
smp_wmb();
- if (task_running(rq, p)) {
+ if (task_running(rq, p) && rq->online) {
/*
* We should only be calling this on a running task if we're
* holding rq lock.
@@ -2033,6 +2033,7 @@ int sched_fork(unsigned long __maybe_unused clone_flags, struct task_struct *p)
*/
/* Should be reset in fork.c but done here for ease of MuQSS patching */
+ p->on_cpu =
p->on_rq =
p->utime =
p->stime =
@@ -2075,7 +2076,6 @@ int sched_fork(unsigned long __maybe_unused clone_flags, struct task_struct *p)
if (unlikely(sched_info_on()))
memset(&p->sched_info, 0, sizeof(p->sched_info));
#endif
- p->on_cpu = 0;
init_task_preempt_count(p);
put_cpu();