[PATCH] pcmcia/cs: fix possible missed wakeup
authorDaniel Ritz <daniel.ritz@gmx.ch>
Fri, 9 Sep 2005 20:03:23 +0000 (13:03 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 9 Sep 2005 20:57:47 +0000 (13:57 -0700)
commitbf4de6f2db79f3c396bd884f546cd2ea91a686f2
tree6d2dc0b8ba8b91ea75d57c018d3958142c25eaef
parentb3743fa4442fc172e950ff0eaf6aa96e7d5ce9be
[PATCH] pcmcia/cs: fix possible missed wakeup

- thread_done should only be completed when the wait_queue is installed.

- all wake up conditions should be checked before schedule()

this fixes a hang of rmmod in the sequence modprobe yenta_socket; rmmod
yenta_socket as reported by Andreas Steinmetz.  w/o this rmmod yenta_socket
can hang on wait_for_completion() in pcmcia_unregister_socket()

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Cc: Dominik Brodowski <linux@brodo.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/pcmcia/cs.c