mmc: fix "prev->state: 2 != TASK_RUNNING??" problem on SD/MMC card removal
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>
This commit is contained in:
parent
f3a8efa90b
commit
7b30d281b9
1 changed files with 3 additions and 1 deletions
|
@ -78,8 +78,10 @@ static int mmc_queue_thread(void *d)
|
||||||
spin_unlock_irq(q->queue_lock);
|
spin_unlock_irq(q->queue_lock);
|
||||||
|
|
||||||
if (!req) {
|
if (!req) {
|
||||||
if (kthread_should_stop())
|
if (kthread_should_stop()) {
|
||||||
|
set_current_state(TASK_RUNNING);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
up(&mq->thread_sem);
|
up(&mq->thread_sem);
|
||||||
schedule();
|
schedule();
|
||||||
down(&mq->thread_sem);
|
down(&mq->thread_sem);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue