From 86a7397cda08a65bc4f306e812c846e2437b5347 Mon Sep 17 00:00:00 2001 From: Albert Lee Date: Fri, 30 Sep 2005 19:11:35 +0800 Subject: [PATCH] [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 Signed-off-by: Jeff Garzik --- drivers/scsi/libata-core.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index a63758da489..cf5a138cdde 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c @@ -3994,13 +3994,7 @@ static void ata_dataout_task(void *_data) */ 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 @@ static void ata_dataout_task(void *_data) 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); -- 2.39.2