summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libata-eh.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-06-24 20:30:19 +0900
committerJeff Garzik <jeff@garzik.org>2006-06-26 20:59:27 -0400
commitbeb07c1a56e2cff3842e22c473bd1aaaea08e532 (patch)
treea78fc940254de778c96988876001504ab9c945c9 /drivers/scsi/libata-eh.c
parent64f65ca6e7a5a42df22ff29dadfff389dc388f65 (diff)
[PATCH] libata: clear EH action on device detach
Clear related EH action on device detach such that new device doesn't receive EH actions scheduled for the old one. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/scsi/libata-eh.c')
-rw-r--r--drivers/scsi/libata-eh.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/libata-eh.c b/drivers/scsi/libata-eh.c
index c7e6298db05..bf5a72aca8a 100644
--- a/drivers/scsi/libata-eh.c
+++ b/drivers/scsi/libata-eh.c
@@ -734,6 +734,10 @@ static void ata_eh_detach_dev(struct ata_device *dev)
ap->flags |= ATA_FLAG_SCSI_HOTPLUG;
}
+ /* clear per-dev EH actions */
+ ata_eh_clear_action(dev, &ap->eh_info, ATA_EH_PERDEV_MASK);
+ ata_eh_clear_action(dev, &ap->eh_context.i, ATA_EH_PERDEV_MASK);
+
spin_unlock_irqrestore(ap->lock, flags);
}