aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/async.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-06-11 11:55:42 -0400
committerIngo Molnar <mingo@elte.hu>2009-06-11 11:55:42 -0400
commit940010c5a314a7bd9b498593bc6ba1718ac5aec5 (patch)
treed141e08ced08c40c6a8e3ab2cdecde5ff14e560f /kernel/async.c
parent8dc8e5e8bc0ce00b0f656bf972f67cd8a72759e5 (diff)
parent991ec02cdca33b03a132a0cacfe6f0aa0be9aa8d (diff)
Merge branch 'linus' into perfcounters/core
Conflicts: arch/x86/kernel/irqinit.c arch/x86/kernel/irqinit_64.c arch/x86/kernel/traps.c arch/x86/mm/fault.c include/linux/sched.h kernel/exit.c
Diffstat (limited to 'kernel/async.c')
-rw-r--r--kernel/async.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/kernel/async.c b/kernel/async.c
index 50540301ed0f..27235f5de198 100644
--- a/kernel/async.c
+++ b/kernel/async.c
@@ -92,23 +92,18 @@ extern int initcall_debug;
92static async_cookie_t __lowest_in_progress(struct list_head *running) 92static async_cookie_t __lowest_in_progress(struct list_head *running)
93{ 93{
94 struct async_entry *entry; 94 struct async_entry *entry;
95 async_cookie_t ret = next_cookie; /* begin with "infinity" value */
96 95
97 if (!list_empty(running)) { 96 if (!list_empty(running)) {
98 entry = list_first_entry(running, 97 entry = list_first_entry(running,
99 struct async_entry, list); 98 struct async_entry, list);
100 ret = entry->cookie; 99 return entry->cookie;
101 } 100 }
102 101
103 if (!list_empty(&async_pending)) { 102 list_for_each_entry(entry, &async_pending, list)
104 list_for_each_entry(entry, &async_pending, list) 103 if (entry->running == running)
105 if (entry->running == running) { 104 return entry->cookie;
106 ret = entry->cookie;
107 break;
108 }
109 }
110 105
111 return ret; 106 return next_cookie; /* "infinity" value */
112} 107}
113 108
114static async_cookie_t lowest_in_progress(struct list_head *running) 109static async_cookie_t lowest_in_progress(struct list_head *running)