[git patches] libata fixes

From: Jeff Garzik
Date: Wed May 24 2006 - 03:04:43 EST



Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git

to receive the following updates:

drivers/scsi/libata-core.c | 5 +++++
1 file changed, 5 insertions(+)

Albert Lee:
libata: add pio flush for via atapi (was: Re: TR: ASUS A8V Deluxe, x86_64)

diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index 823dfa7..fa476e7 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -3643,6 +3643,8 @@ static void ata_pio_block(struct ata_por

ata_pio_sector(qc);
}
+
+ ata_altstatus(ap); /* flush */
}

static void ata_pio_error(struct ata_port *ap)
@@ -3759,11 +3761,14 @@ static void atapi_packet_task(void *_dat
spin_lock_irqsave(&ap->host_set->lock, flags);
ap->flags &= ~ATA_FLAG_NOINTR;
ata_data_xfer(ap, qc->cdb, qc->dev->cdb_len, 1);
+ ata_altstatus(ap); /* flush */
+
if (qc->tf.protocol == ATA_PROT_ATAPI_DMA)
ap->ops->bmdma_start(qc); /* initiate bmdma */
spin_unlock_irqrestore(&ap->host_set->lock, flags);
} else {
ata_data_xfer(ap, qc->cdb, qc->dev->cdb_len, 1);
+ ata_altstatus(ap); /* flush */

/* PIO commands are handled by polling */
ap->hsm_task_state = HSM_ST;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/