Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7b30d281b9c115890c75d11eaf06881261c256da
Commit:     7b30d281b9c115890c75d11eaf06881261c256da
Parent:     f3a8efa90b1aab16ead76ad7e22d9c5fc2045400
Author:     Vitaly Wool <[EMAIL PROTECTED]>
AuthorDate: Thu Dec 7 20:08:02 2006 +0100
Committer:  Pierre Ossman <[EMAIL PROTECTED]>
CommitDate: Mon Dec 11 09:48:16 2006 +0100

    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 <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Pierre Ossman <[EMAIL PROTECTED]>
---
 drivers/mmc/mmc_queue.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/mmc/mmc_queue.c b/drivers/mmc/mmc_queue.c
index a17423a..3e35a43 100644
--- a/drivers/mmc/mmc_queue.c
+++ b/drivers/mmc/mmc_queue.c
@@ -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);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to