https://github.com/torvalds/linux
Revision 3af968e066d593bc4dacc021715f3e95ddf0996f authored by Linus Torvalds on 08 June 2009, 19:31:53 UTC, committed by Linus Torvalds on 08 June 2009, 19:31:53 UTC
Our async work synchronization was broken by "async: make sure independent async domains can't accidentally entangle" (commit d5a877e8dd409d8c702986d06485c374b705d340), because it would report the wrong lowest active async ID when there was both running and pending async work. This caused things like no being able to read the root filesystem, resulting in missing console devices and inability to run 'init', causing a boot-time panic. This fixes it by properly returning the lowest pending async ID: if there is any running async work, that will have a lower ID than any pending work, and we should _not_ look at the pending work list. There were alternative patches from Jaswinder and James, but this one also cleans up the code by removing the pointless 'ret' variable and the unnecesary testing for an empty list around 'for_each_entry()' (if the list is empty, the for_each_entry() thing just won't execute). Fixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13474 Reported-and-tested-by: Chris Clayton <chris2553@googlemail.com> Cc: Jaswinder Singh Rajput <jaswinder@kernel.org> Cc: James Bottomley <James.Bottomley@HansenPartnership.com> Cc: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 46056be
Tip revision: 3af968e066d593bc4dacc021715f3e95ddf0996f authored by Linus Torvalds on 08 June 2009, 19:31:53 UTC
async: Fix lack of boot-time console due to insufficient synchronization
async: Fix lack of boot-time console due to insufficient synchronization
Tip revision: 3af968e
File | Mode | Size |
---|---|---|
Documentation | ||
arch | ||
block | ||
crypto | ||
drivers | ||
firmware | ||
fs | ||
include | ||
init | ||
ipc | ||
kernel | ||
lib | ||
mm | ||
net | ||
samples | ||
scripts | ||
security | ||
sound | ||
usr | ||
virt | ||
.gitignore | -rw-r--r-- | 885 bytes |
.mailmap | -rw-r--r-- | 3.9 KB |
COPYING | -rw-r--r-- | 18.3 KB |
CREDITS | -rw-r--r-- | 91.6 KB |
Kbuild | -rw-r--r-- | 2.4 KB |
MAINTAINERS | -rw-r--r-- | 144.8 KB |
Makefile | -rw-r--r-- | 53.8 KB |
README | -rw-r--r-- | 16.7 KB |
REPORTING-BUGS | -rw-r--r-- | 3.1 KB |
Computing file changes ...