MMC: Fix S3C24XX IRQ enable during PIO transfers

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Wednesday, July 16, 2008 - 4:20 pm

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d643b5...
Commit:     d643b5f7e0793ef7828a35a5ea049d675ad2ad8c
Parent:     bdbc9c3a8f7a7956611c970e262693faa95081a5
Author:     Roman Moracik <roman.moravcik@gmail.com>
AuthorDate: Mon Jun 30 22:40:28 2008 +0100
Committer:  Pierre Ossman <drzeus@drzeus.cx>
CommitDate: Tue Jul 15 14:14:47 2008 +0200

    MMC: Fix S3C24XX IRQ enable during PIO transfers
    
    Fix Bug #677 - I/O errors on heavy microSD writes for 2.6.22.x.
    
    Signed-off-by: Ben Dooks <ben-linux@fluff.org>
    Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
---
 drivers/mmc/host/s3cmci.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c
index 8c68b2e..774af3d 100644
--- a/drivers/mmc/host/s3cmci.c
+++ b/drivers/mmc/host/s3cmci.c
@@ -335,6 +335,8 @@ static void pio_tasklet(unsigned long data)
 	struct s3cmci_host *host = (struct s3cmci_host *) data;
 
 
+	disable_irq(host->irq);
+
 	if (host->pio_active == XFER_WRITE)
 		do_pio_write(host);
 
@@ -352,9 +354,9 @@ static void pio_tasklet(unsigned long data)
 			host->mrq->data->error = -EINVAL;
 		}
 
-		disable_irq(host->irq);
 		finalize_request(host);
-	}
+	} else
+		enable_irq(host->irq);
 }
 
 /*
@@ -630,7 +632,6 @@ out:
 	spin_unlock_irqrestore(&host->complete_lock, iflags);
 	return;
 
-
 fail_request:
 	host->mrq->data->error = -EINVAL;
 	host->complete_what = COMPLETION_FINALIZE;
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
MMC: Fix S3C24XX IRQ enable during PIO transfers, Linux Kernel Mailing ..., (Wed Jul 16, 4:20 pm)