summaryrefslogtreecommitdiff
path: root/include/linux/freezer.h
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2011-12-26 03:29:55 +0400
committerRafael J. Wysocki <rjw@sisk.pl>2011-12-27 04:06:33 +0400
commitb3b73ec0d7fe5bf8f950232aa58dfa0416a62372 (patch)
treebeaf2eea7573acb110fe1159c032885b40e56ee7 /include/linux/freezer.h
parent467de1fc67d1bd2954eaac7019c564f28fa2b6a5 (diff)
downloadlinux-b3b73ec0d7fe5bf8f950232aa58dfa0416a62372.tar.xz
PM / Freezer: fix return value of freezable_schedule_timeout_killable()
...it should return the return code from schedule_timeout_killable(), not the one from freezer_count(). All of the current callers ignore the return code so the bug is harmless but it's worth fixing. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'include/linux/freezer.h')
-rw-r--r--include/linux/freezer.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/freezer.h b/include/linux/freezer.h
index 7bcfe73d999b..0ab54e16a91f 100644
--- a/include/linux/freezer.h
+++ b/include/linux/freezer.h
@@ -116,9 +116,11 @@ static inline int freezer_should_skip(struct task_struct *p)
/* Like schedule_timeout_killable(), but should not block the freezer. */
#define freezable_schedule_timeout_killable(timeout) \
({ \
+ long __retval; \
freezer_do_not_count(); \
- schedule_timeout_killable(timeout); \
+ __retval = schedule_timeout_killable(timeout); \
freezer_count(); \
+ __retval; \
})
/*