diff options
author | Ingo Molnar <mingo@kernel.org> | 2014-02-27 06:20:31 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-02-27 06:20:31 -0500 |
commit | f207dbe63c61158c234e2e8929a3725a7f6b2b9b (patch) | |
tree | 51488fdd8dc02b263869ca3d2262565a06b5528a | |
parent | 47be1c1a0e188232b5e5962917b21750053cd3f8 (diff) |
Revert "sched/wait: Suppress Sparse 'variable shadowing' warning"
This reverts commit 980f88e414418bf65569a3b62b08b07e6fc2f4c6.
This warning is actually useful, don't suppress it.
We actually rely on the shadowing for ___wait_cond_timeout().
We further used the __ret variable in __wait_event_timeout()'s cmd
argument: __ret = schedule_timeout(__ret). That now explicitly uses the
wrong __ret.
Reported-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Requested-by: Andrew Morton <akpm@linux-foundation.org>
Requested-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/n/tip-Q5blhuqqzwgVwvjf1gszrdol@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | include/linux/wait.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/wait.h b/include/linux/wait.h index c55ea5c24404..559044c79232 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h | |||
@@ -195,7 +195,7 @@ wait_queue_head_t *bit_waitqueue(void *, int); | |||
195 | ({ \ | 195 | ({ \ |
196 | __label__ __out; \ | 196 | __label__ __out; \ |
197 | wait_queue_t __wait; \ | 197 | wait_queue_t __wait; \ |
198 | long ___ret = ret; \ | 198 | long __ret = ret; \ |
199 | \ | 199 | \ |
200 | INIT_LIST_HEAD(&__wait.task_list); \ | 200 | INIT_LIST_HEAD(&__wait.task_list); \ |
201 | if (exclusive) \ | 201 | if (exclusive) \ |
@@ -210,7 +210,7 @@ wait_queue_head_t *bit_waitqueue(void *, int); | |||
210 | break; \ | 210 | break; \ |
211 | \ | 211 | \ |
212 | if (___wait_is_interruptible(state) && __int) { \ | 212 | if (___wait_is_interruptible(state) && __int) { \ |
213 | ___ret = __int; \ | 213 | __ret = __int; \ |
214 | if (exclusive) { \ | 214 | if (exclusive) { \ |
215 | abort_exclusive_wait(&wq, &__wait, \ | 215 | abort_exclusive_wait(&wq, &__wait, \ |
216 | state, NULL); \ | 216 | state, NULL); \ |
@@ -222,7 +222,7 @@ wait_queue_head_t *bit_waitqueue(void *, int); | |||
222 | cmd; \ | 222 | cmd; \ |
223 | } \ | 223 | } \ |
224 | finish_wait(&wq, &__wait); \ | 224 | finish_wait(&wq, &__wait); \ |
225 | __out: ___ret; \ | 225 | __out: __ret; \ |
226 | }) | 226 | }) |
227 | 227 | ||
228 | #define __wait_event(wq, condition) \ | 228 | #define __wait_event(wq, condition) \ |