On Tue, Mar 31, 2009 at 9:15 AM, Atsushi Nemoto <anemo@xxxxxxxxxxxxx> wrote: > * define CHECK_DMA_MASK > * remove use of wmb() > > Suggested-by: Grant Grundler <grundler@xxxxxxxxxx> Thank you for the attribution! But I think proper header would be: Reported-by: Grant Grundler <grundler@xxxxxxxxxx> But in this case, since i've looked at the code and am under the illusion I understand it, I'm comfortable with: Reviewed-by: Grant Grundler <grundler@xxxxxxxxxx> thanks! grant > Signed-off-by: Atsushi Nemoto <anemo@xxxxxxxxxxxxx> > --- > This patch is against linux-next 20090331. > > drivers/ide/tx4939ide.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/ide/tx4939ide.c b/drivers/ide/tx4939ide.c > index cc269c0..48186ae 100644 > --- a/drivers/ide/tx4939ide.c > +++ b/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; > } > > -- > 1.5.6.3 > >