diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index d6b8d8e6364b5e941902f0f570d50deee1b9d857..673ddf611d0eda46e56724702c5e3f00c8e0ced1 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -4340,9 +4340,9 @@ idle_irq:
 
 #ifdef ATA_IRQ_TRAP
 	if ((ap->stats.idle_irq % 1000) == 0) {
-		handled = 1;
 		ata_irq_ack(ap, 0); /* debug trap */
 		printk(KERN_WARNING "ata%d: irq trap\n", ap->id);
+		return 1;
 	}
 #endif
 	return 0;	/* irq not handled */