Albert Lee wrote: > patch 4/7: > move the polling idle irq check from ata_interrupt() to ata_host_intr(), > where it makes more sense. > > Signed-off-by: Albert Lee <albertcc@xxxxxxxxxx> > --- > > diff -Nrup 03_smart_flush/drivers/ata/libata-core.c 04_polling_check/drivers/ata/libata-core.c > --- 03_smart_flush/drivers/ata/libata-core.c 2007-05-11 10:24:19.000000000 +0800 > +++ 04_polling_check/drivers/ata/libata-core.c 2007-05-11 10:25:09.000000000 +0800 > @@ -5119,6 +5119,10 @@ inline unsigned int ata_host_intr (struc > VPRINTK("ata%u: protocol %d task_state %d\n", > ap->print_id, qc->tf.protocol, ap->hsm_task_state); > > + /* polling */ > + if (qc->tf.flags & ATA_TFLAG_POLLING) > + goto idle_irq; > + > /* Check whether we are expecting interrupt in this state */ > switch (ap->hsm_task_state) { > case HSM_ST_FIRST: > @@ -5229,8 +5233,7 @@ irqreturn_t ata_interrupt (int irq, void > struct ata_queued_cmd *qc; > > qc = ata_qc_from_tag(ap, ap->active_tag); > - if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING)) && > - (qc->flags & ATA_QCFLAG_ACTIVE)) > + if (qc && (qc->flags & ATA_QCFLAG_ACTIVE)) There are several LLD specific IRQ handlers which have similar part. Care to update them together? -- tejun - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html