From f19965ec5ecba9c5bc97496e98adec3a4d6fd1b8 Mon Sep 17 00:00:00 2001 From: Atsushi Nemoto Date: Wed, 8 Apr 2009 14:12:49 +0200 Subject: [PATCH] --- yaml --- r: 142958 b: refs/heads/master c: 253275c52c8f5848df63f140977ef19800f2dfca h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/ide/tx4939ide.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index aafbb5f56204..ab18fde2f339 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: edafcf73dca2f9531c78eec130df84a8c9654b3b +refs/heads/master: 253275c52c8f5848df63f140977ef19800f2dfca diff --git a/trunk/drivers/ide/tx4939ide.c b/trunk/drivers/ide/tx4939ide.c index 0040a9a3e26e..2e27fcd41864 100644 --- a/trunk/drivers/ide/tx4939ide.c +++ b/trunk/drivers/ide/tx4939ide.c @@ -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; }