aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-06-12 14:11:43 +0900
committerJeff Garzik <jeff@garzik.org>2006-06-12 02:10:26 -0400
commitaeb2ecd6096182cc080d37679080c0f088dcd4a4 (patch)
tree8e103a541f59c8a31656666352a4d5ea10c00088
parentf9be7113b56eb5d013a611d9c65e8d1d2d3f7c94 (diff)
[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 782dfba573a..531a4e11c07 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;