Skip to content

Commit

Permalink
mmc: fix "prev->state: 2 != TASK_RUNNING??" problem on SD/MMC card re…
Browse files Browse the repository at this point in the history
…moval

Currently on SD/MMC card removal the system exhibits the following message (the platform is ARM Versatile):

    prev->state: 2 != TASK_RUNNING??
    mmcqd/762[CPU#0]: BUG in __schedule at linux-2.6/kernel/sched.c:3826

(akpm: someone tried to fix this, but it's still wrong)

Signed-off-by: Vitaly Wool <vitalywool@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
  • Loading branch information
Vitaly Wool authored and Pierre Ossman committed Dec 11, 2006
1 parent f3a8efa commit 7b30d28
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/mmc/mmc_queue.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,10 @@ static int mmc_queue_thread(void *d)
spin_unlock_irq(q->queue_lock);

if (!req) {
if (kthread_should_stop())
if (kthread_should_stop()) {
set_current_state(TASK_RUNNING);
break;
}
up(&mq->thread_sem);
schedule();
down(&mq->thread_sem);
Expand Down

0 comments on commit 7b30d28

Please sign in to comment.