Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5721dbf217b073b40e31936781379ab2d17ea2ae
Commit:     5721dbf217b073b40e31936781379ab2d17ea2ae
Parent:     976d9276c826d6b35e4a2478fd4978dbd63bdd6f
Author:     Pierre Ossman <[EMAIL PROTECTED]>
AuthorDate: Fri Apr 13 23:25:59 2007 +0200
Committer:  Pierre Ossman <[EMAIL PROTECTED]>
CommitDate: Tue May 1 13:04:12 2007 +0200

    wbsd: remove block crc test
    
    Block completion interrupts occur faster than we can process
    them, so just ignore them competely.
    
    Commit also fixes up some incorrect register defines.
    
    Signed-off-by: Pierre Ossman <[EMAIL PROTECTED]>
---
 drivers/mmc/wbsd.c |   32 +-------------------------------
 drivers/mmc/wbsd.h |    5 ++---
 2 files changed, 3 insertions(+), 34 deletions(-)

diff --git a/drivers/mmc/wbsd.c b/drivers/mmc/wbsd.c
index 7a3e32e..673c646 100644
--- a/drivers/mmc/wbsd.c
+++ b/drivers/mmc/wbsd.c
@@ -178,9 +178,8 @@ static void wbsd_init_device(struct wbsd_host *host)
        ier = 0;
        ier |= WBSD_EINT_CARD;
        ier |= WBSD_EINT_FIFO_THRE;
-       ier |= WBSD_EINT_CCRC;
-       ier |= WBSD_EINT_TIMEOUT;
        ier |= WBSD_EINT_CRC;
+       ier |= WBSD_EINT_TIMEOUT;
        ier |= WBSD_EINT_TC;
 
        outb(ier, host->base + WBSD_EIR);
@@ -1166,30 +1165,6 @@ end:
        spin_unlock(&host->lock);
 }
 
-static void wbsd_tasklet_block(unsigned long param)
-{
-       struct wbsd_host *host = (struct wbsd_host *)param;
-       struct mmc_data *data;
-
-       spin_lock(&host->lock);
-
-       if ((wbsd_read_index(host, WBSD_IDX_CRCSTATUS) & WBSD_CRC_MASK) !=
-               WBSD_CRC_OK) {
-               data = wbsd_get_data(host);
-               if (!data)
-                       goto end;
-
-               DBGF("CRC error\n");
-
-               data->error = MMC_ERR_BADCRC;
-
-               tasklet_schedule(&host->finish_tasklet);
-       }
-
-end:
-       spin_unlock(&host->lock);
-}
-
 /*
  * Interrupt handling
  */
@@ -1220,8 +1195,6 @@ static irqreturn_t wbsd_irq(int irq, void *dev_id)
                tasklet_hi_schedule(&host->crc_tasklet);
        if (isr & WBSD_INT_TIMEOUT)
                tasklet_hi_schedule(&host->timeout_tasklet);
-       if (isr & WBSD_INT_BUSYEND)
-               tasklet_hi_schedule(&host->block_tasklet);
        if (isr & WBSD_INT_TC)
                tasklet_schedule(&host->finish_tasklet);
 
@@ -1522,8 +1495,6 @@ static int __devinit wbsd_request_irq(struct wbsd_host 
*host, int irq)
                        (unsigned long)host);
        tasklet_init(&host->finish_tasklet, wbsd_tasklet_finish,
                        (unsigned long)host);
-       tasklet_init(&host->block_tasklet, wbsd_tasklet_block,
-                       (unsigned long)host);
 
        return 0;
 }
@@ -1542,7 +1513,6 @@ static void __devexit wbsd_release_irq(struct wbsd_host 
*host)
        tasklet_kill(&host->crc_tasklet);
        tasklet_kill(&host->timeout_tasklet);
        tasklet_kill(&host->finish_tasklet);
-       tasklet_kill(&host->block_tasklet);
 }
 
 /*
diff --git a/drivers/mmc/wbsd.h b/drivers/mmc/wbsd.h
index 6fb4fa4..873bda1 100644
--- a/drivers/mmc/wbsd.h
+++ b/drivers/mmc/wbsd.h
@@ -46,10 +46,10 @@
 
 #define WBSD_EINT_CARD         0x40
 #define WBSD_EINT_FIFO_THRE    0x20
-#define WBSD_EINT_CCRC         0x10
+#define WBSD_EINT_CRC          0x10
 #define WBSD_EINT_TIMEOUT      0x08
 #define WBSD_EINT_PROGEND      0x04
-#define WBSD_EINT_CRC          0x02
+#define WBSD_EINT_BUSYEND      0x02
 #define WBSD_EINT_TC           0x01
 
 #define WBSD_INT_PENDING       0x80
@@ -180,7 +180,6 @@ struct wbsd_host
        struct tasklet_struct   crc_tasklet;
        struct tasklet_struct   timeout_tasklet;
        struct tasklet_struct   finish_tasklet;
-       struct tasklet_struct   block_tasklet;
 
        struct timer_list       ignore_timer;   /* Ignore detection timer */
 };
-
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