if (timeout)
ata_port_queue_task(ap, ata_pio_task, ap, timeout);
- else if (!qc_completed)
+ else if (has_next)
goto fsm_start;
}
* 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 */
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;