Clear IRQ before reenabling in ata_std_postreset(). Reset might have left pending IRQ. Signed-off-by: Tejun Heo <htejun@xxxxxxxxx> --- drivers/scsi/libata-core.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) ac29aadbf4c791f1f1777d45883c5ac0c39cfbed diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index d2a7b6f..e559347 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c @@ -2538,7 +2538,8 @@ void ata_std_postreset(struct ata_port * if (ap->cbl == ATA_CBL_SATA) sata_print_link_status(ap); - /* re-enable interrupts */ + /* clear & re-enable interrupts */ + ata_chk_status(ap); if (ap->ioaddr.ctl_addr) /* FIXME: hack. create a hook instead */ ata_irq_on(ap); -- 1.2.4 - : 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