X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fpcmcia%2Fcs.c;h=fabd3529cebcb035e56769354986c99e561ecb08;hb=62052d42a5327281fc43fd7bcfb73ac7d36ffc2e;hp=e39178fc59d08efb74efe4eaf1e8ba80a6fbdace;hpb=e0d21d9cca25f424f3129649be48a63c128ed42d;p=linux-2.6 diff --git a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c index e39178fc59..fabd3529ce 100644 --- a/drivers/pcmcia/cs.c +++ b/drivers/pcmcia/cs.c @@ -654,9 +654,10 @@ static int pccardd(void *__skt) skt->thread = NULL; complete_and_exit(&skt->thread_done, 0); } - complete(&skt->thread_done); add_wait_queue(&skt->thread_wait, &wait); + complete(&skt->thread_done); + for (;;) { unsigned long flags; unsigned int events; @@ -682,11 +683,11 @@ static int pccardd(void *__skt) continue; } - schedule(); - try_to_freeze(); - if (!skt->thread) break; + + schedule(); + try_to_freeze(); } remove_wait_queue(&skt->thread_wait, &wait);