[PATCH] libata irq-pio: simplify if condition in ata_dataout_task()
- Use if (qc->tf.protocol == ATA_PROT_PIO) instead of
if(is_atapi_taskfile()) in ata_dataout_task()
Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index a63758d..cf5a138 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -3994,13 +3994,7 @@
*/
spin_lock_irqsave(&ap->host_set->lock, flags);
- if (is_atapi_taskfile(&qc->tf)) {
- /* send CDB */
- atapi_send_cdb(ap, qc);
-
- if (qc->tf.flags & ATA_TFLAG_POLLING)
- queue_work(ata_wq, &ap->pio_task);
- } else {
+ if (qc->tf.protocol == ATA_PROT_PIO) {
/* PIO data out protocol.
* send first data block.
*/
@@ -4013,6 +4007,12 @@
ata_altstatus(ap); /* flush */
/* interrupt handler takes over from here */
+ } else {
+ /* send CDB */
+ atapi_send_cdb(ap, qc);
+
+ if (qc->tf.flags & ATA_TFLAG_POLLING)
+ queue_work(ata_wq, &ap->pio_task);
}
spin_unlock_irqrestore(&ap->host_set->lock, flags);