aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/linux/freezer.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/freezer.h b/include/linux/freezer.h
index c9435252e8e..1045ee9c0bb 100644
--- a/include/linux/freezer.h
+++ b/include/linux/freezer.h
@@ -63,8 +63,10 @@ static inline int thaw_process(struct task_struct *p)
*/
static inline void frozen_process(struct task_struct *p)
{
- p->flags |= PF_FROZEN;
- wmb();
+ if (!unlikely(p->flags & PF_NOFREEZE)) {
+ p->flags |= PF_FROZEN;
+ wmb();
+ }
clear_tsk_thread_flag(p, TIF_FREEZE);
}