Browse Source

libata: irq-pio build fixes

Jeff Garzik 19 years ago
parent
commit
46e202ec1f
1 changed files with 4 additions and 3 deletions
  1. 4 3
      drivers/scsi/libata-core.c

+ 4 - 3
drivers/scsi/libata-core.c

@@ -3809,7 +3809,7 @@ fsm_start:
 
 	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;