libata: irq-pio build fixes
authorJeff Garzik <jeff@garzik.org>
Sun, 12 Mar 2006 00:25:47 +0000 (19:25 -0500)
committerJeff Garzik <jeff@garzik.org>
Sun, 12 Mar 2006 00:25:47 +0000 (19:25 -0500)
drivers/scsi/libata-core.c

index 5060a1a1ad251dd35001b0f1e277e25b99fac345..1a00c80b96d449328ee5c436d150888ebf645b40 100644 (file)
@@ -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;