tx4939ide: remove wmb()
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Wed, 8 Apr 2009 12:12:49 +0000 (14:12 +0200)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Wed, 8 Apr 2009 12:12:49 +0000 (14:12 +0200)
* define CHECK_DMA_MASK
* remove use of wmb()

Reported-by: Grant Grundler <grundler@google.com>
Reviewed-by: Grant Grundler <grundler@google.com>
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
drivers/ide/tx4939ide.c

index 0040a9a..2e27fcd 100644 (file)
@@ -327,15 +327,15 @@ static int tx4939ide_dma_end(ide_drive_t *drive)
        /* read and clear the INTR & ERROR bits */
        dma_stat = tx4939ide_clear_dma_status(base);
 
-       wmb();
+#define CHECK_DMA_MASK (ATA_DMA_ACTIVE | ATA_DMA_ERR | ATA_DMA_INTR)
 
        /* verify good DMA status */
-       if ((dma_stat & (ATA_DMA_INTR | ATA_DMA_ERR | ATA_DMA_ACTIVE)) == 0 &&
+       if ((dma_stat & CHECK_DMA_MASK) == 0 &&
            (ctl & (TX4939IDE_INT_XFEREND | TX4939IDE_INT_HOST)) ==
            (TX4939IDE_INT_XFEREND | TX4939IDE_INT_HOST))
                /* INT_IDE lost... bug? */
                return 0;
-       return ((dma_stat & (ATA_DMA_INTR | ATA_DMA_ERR | ATA_DMA_ACTIVE)) !=
+       return ((dma_stat & CHECK_DMA_MASK) !=
                ATA_DMA_INTR) ? 0x10 | dma_stat : 0;
 }