diff options
author | Steven Rostedt <rostedt@goodmis.org> | 2005-10-10 11:13:17 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-10 11:33:27 -0400 |
commit | 220ec0291130a932b32b2c66a10e9c5019dab702 (patch) | |
tree | 3b9336e0637dc55776c5b86657126c83339d096d /drivers/pcmcia/cs.c | |
parent | 2e457ef667158840c1be511f5d10dd42c6dbbe46 (diff) |
[PATCH] pcmcia: fix task state at pccard thread exit
The pccardd thread has a race in it that it can shutdown in the
TASK_INTERRUPTIBLE state.
Make sure we mark ourselves runnable again as we remove ourselves from
the wait queue.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/pcmcia/cs.c')
-rw-r--r-- | drivers/pcmcia/cs.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c index fabd3529cebc..d5e76423a0ee 100644 --- a/drivers/pcmcia/cs.c +++ b/drivers/pcmcia/cs.c | |||
@@ -689,6 +689,9 @@ static int pccardd(void *__skt) | |||
689 | schedule(); | 689 | schedule(); |
690 | try_to_freeze(); | 690 | try_to_freeze(); |
691 | } | 691 | } |
692 | /* make sure we are running before we exit */ | ||
693 | set_current_state(TASK_RUNNING); | ||
694 | |||
692 | remove_wait_queue(&skt->thread_wait, &wait); | 695 | remove_wait_queue(&skt->thread_wait, &wait); |
693 | 696 | ||
694 | /* remove from the device core */ | 697 | /* remove from the device core */ |