diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2009-06-08 07:21:27 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-06-08 07:21:27 -0400 |
commit | e635a01ea0a16cf7cd31ecd2305870385dca9be6 (patch) | |
tree | c7153e7dee5caf6ac90d85694ff27e4d0b606290 /kernel/async.c | |
parent | 143070e74630b9557e1bb64d899ff2cc5a1dcb48 (diff) | |
parent | 947391cfbaa3b08558844c0b187bcd0223c3f660 (diff) |
Merge branch 'next-mtd' of git://aeryn.fluff.org.uk/bjdooks/linux
Diffstat (limited to 'kernel/async.c')
-rw-r--r-- | kernel/async.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/kernel/async.c b/kernel/async.c index 968ef9457d4e..50540301ed0f 100644 --- a/kernel/async.c +++ b/kernel/async.c | |||
@@ -92,19 +92,23 @@ extern int initcall_debug; | |||
92 | static async_cookie_t __lowest_in_progress(struct list_head *running) | 92 | static 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 | if (!list_empty(running)) { | 97 | if (!list_empty(running)) { |
96 | entry = list_first_entry(running, | 98 | entry = list_first_entry(running, |
97 | struct async_entry, list); | 99 | struct async_entry, list); |
98 | return entry->cookie; | 100 | ret = entry->cookie; |
99 | } else if (!list_empty(&async_pending)) { | ||
100 | entry = list_first_entry(&async_pending, | ||
101 | struct async_entry, list); | ||
102 | return entry->cookie; | ||
103 | } else { | ||
104 | /* nothing in progress... next_cookie is "infinity" */ | ||
105 | return next_cookie; | ||
106 | } | 101 | } |
107 | 102 | ||
103 | if (!list_empty(&async_pending)) { | ||
104 | list_for_each_entry(entry, &async_pending, list) | ||
105 | if (entry->running == running) { | ||
106 | ret = entry->cookie; | ||
107 | break; | ||
108 | } | ||
109 | } | ||
110 | |||
111 | return ret; | ||
108 | } | 112 | } |
109 | 113 | ||
110 | static async_cookie_t lowest_in_progress(struct list_head *running) | 114 | static async_cookie_t lowest_in_progress(struct list_head *running) |