Lines 5561-5569
inline unsigned int ata_host_intr (struc
Link Here
|
5561 |
if (!(host_stat & ATA_DMA_INTR)) |
5561 |
if (!(host_stat & ATA_DMA_INTR)) |
5562 |
goto idle_irq; |
5562 |
goto idle_irq; |
5563 |
|
5563 |
|
5564 |
/* before we do anything else, clear DMA-Start bit */ |
|
|
5565 |
ap->ops->bmdma_stop(qc); |
5566 |
|
5567 |
if (unlikely(host_stat & ATA_DMA_ERR)) { |
5564 |
if (unlikely(host_stat & ATA_DMA_ERR)) { |
5568 |
/* error when transfering data to/from memory */ |
5565 |
/* error when transfering data to/from memory */ |
5569 |
qc->err_mask |= AC_ERR_HOST_BUS; |
5566 |
qc->err_mask |= AC_ERR_HOST_BUS; |
Lines 5587-5592
inline unsigned int ata_host_intr (struc
Link Here
|
5587 |
if (unlikely(status & ATA_BUSY)) |
5584 |
if (unlikely(status & ATA_BUSY)) |
5588 |
goto idle_irq; |
5585 |
goto idle_irq; |
5589 |
|
5586 |
|
|
|
5587 |
/* stop DMA */ |
5588 |
if (qc->tf.protocol == ATA_PROT_DMA || |
5589 |
qc->tf.protocol == ATA_PROT_ATAPI_DMA) |
5590 |
/* before we do anything else, clear DMA-Start bit */ |
5591 |
ap->ops->bmdma_stop(qc); |
5592 |
|
5590 |
/* ack bmdma irq events */ |
5593 |
/* ack bmdma irq events */ |
5591 |
ap->ops->irq_clear(ap); |
5594 |
ap->ops->irq_clear(ap); |
5592 |
|
5595 |
|