Am Dienstag, 13. September 2005 18:50 schrieb Alan Stern: >Rolf Eike Beer wrote: >> Ok, we looked a bit closer on all this. http://lwn.net/Articles/65178/ >> tells that ktread_stop() will not send a signal, so the >> down_interruptible() will never return on kthread_stop(). But calling up() >> directly before >> kthread_stop() adds a race condition: if reschedule happens right after >> the up() we've won nothing and it will hang again. > >This problem shows up in other ways as well. With hot-unpluggable >hosts, the call that does the last 'put' on the last device will hang >waiting for the eh thread to terminate. See > >http://bugzilla.kernel.org/show_bug.cgi?id=5237 Looks like someone has to build a waitqueue to fix this. Eike
Attachment:
pgp4ZUmfWgmw3.pgp
Description: PGP signature