From 7499ce4dde889ee0fbc619d0673deab29e1ce6ba Mon Sep 17 00:00:00 2001 From: Jeff Garzik Date: Sat, 11 Mar 2006 19:25:47 -0500 Subject: [PATCH] --- yaml --- r: 29391 b: refs/heads/master c: 46e202ec1feeac3cb722cd3410d62a9a00891388 h: refs/heads/master i: 29389: c84cc40bde72aadc540b97d7087d3cd84e14533b 29387: 45987363364162732acf398209ee511b13621242 29383: ff6c1dcb7c7a3770fac827a9750778ce302e6b2e 29375: 53a0d5885d46fde7511d5319eff94cc62cd633a7 v: v3 --- [refs] | 2 +- trunk/drivers/scsi/libata-core.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index d70c37ca55bd..21b4b591767c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ce1e7a2ac721eb9d825b63f74752d0c9e0c635c2 +refs/heads/master: 46e202ec1feeac3cb722cd3410d62a9a00891388 diff --git a/trunk/drivers/scsi/libata-core.c b/trunk/drivers/scsi/libata-core.c index 5060a1a1ad25..1a00c80b96d4 100644 --- a/trunk/drivers/scsi/libata-core.c +++ b/trunk/drivers/scsi/libata-core.c @@ -3809,7 +3809,7 @@ static void ata_pio_task(void *_data) if (timeout) ata_port_queue_task(ap, ata_pio_task, ap, timeout); - else if (!qc_completed) + else if (has_next) goto fsm_start; } @@ -3866,7 +3866,8 @@ static void atapi_packet_task(void *_data) * finished. Hence, the following locking. */ spin_lock_irqsave(&ap->host_set->lock, flags); - ap->flags &= ~ATA_FLAG_NOINTR; +#warning FIXME + /* ap->flags &= ~ATA_FLAG_NOINTR; */ ata_data_xfer(ap, qc->cdb, qc->dev->cdb_len, 1); if (qc->tf.protocol == ATA_PROT_ATAPI_DMA) ap->ops->bmdma_start(qc); /* initiate bmdma */ @@ -4200,7 +4201,7 @@ unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc) ap->hsm_task_state = HSM_ST_LAST; if (qc->tf.flags & ATA_TFLAG_POLLING) - ata_queue_pio_task(ap); + ata_port_queue_task(ap, ata_pio_task, ap, 0); break;