diff options
author | Dave Airlie <airlied@starflyer.(none)> | 2005-09-25 13:14:45 +1000 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2005-09-25 13:14:45 +1000 |
commit | 4e0c1159d83a658d1ffba5bc3442f4ec4cadb436 (patch) | |
tree | 36a5079ba7ba9b9e0f2f633356705b980940eac4 /drivers/pcmcia/cs.c | |
parent | ea98a92ff18c03bf7f4d21536986cbbcb4c10cd9 (diff) | |
parent | ef6bd6eb90ad72ee8ee7ba8b271f27102e9a90c1 (diff) | |
download | op-kernel-dev-4e0c1159d83a658d1ffba5bc3442f4ec4cadb436.zip op-kernel-dev-4e0c1159d83a658d1ffba5bc3442f4ec4cadb436.tar.gz |
update from upstream
Diffstat (limited to 'drivers/pcmcia/cs.c')
-rw-r--r-- | drivers/pcmcia/cs.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c index e39178f..fabd352 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); |