summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-06-12 05:11:43 (GMT)
committerJeff Garzik <jeff@garzik.org>2006-06-12 06:10:26 (GMT)
commitaeb2ecd6096182cc080d37679080c0f088dcd4a4 (patch)
tree8e103a541f59c8a31656666352a4d5ea10c00088
parentf9be7113b56eb5d013a611d9c65e8d1d2d3f7c94 (diff)
downloadlinux-aeb2ecd6096182cc080d37679080c0f088dcd4a4.tar.xz
[PATCH] libata: fast exit from EH while unloading
Make EH exit fast if the port is being unloaded. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-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 782dfba..531a4e1 100644
--- a/drivers/scsi/libata-eh.c
+++ b/drivers/scsi/libata-eh.c
@@ -1680,6 +1680,10 @@ static int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
down_xfermask = 0;
rc = 0;
+ /* if UNLOADING, finish immediately */
+ if (ap->flags & ATA_FLAG_UNLOADING)
+ goto out;
+
/* skip EH if possible. */
if (ata_eh_skip_recovery(ap))
ehc->i.action = 0;