summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libata-core.c
diff options
context:
space:
mode:
authorTejun Heo2006-05-15 13:58:22 +0200
committerTejun Heo2006-05-15 13:58:22 +0200
commit022bdb075b9e1f224088a0b268de56268d7bc5b6 (patch)
tree05878e28202f0a86bdcc32ae5d995db9f15042da /drivers/scsi/libata-core.c
parent[PATCH] libata-eh: implement ata_eh_info and ata_eh_context (diff)
downloadkernel-qcow2-linux-022bdb075b9e1f224088a0b268de56268d7bc5b6.tar.gz
kernel-qcow2-linux-022bdb075b9e1f224088a0b268de56268d7bc5b6.tar.xz
kernel-qcow2-linux-022bdb075b9e1f224088a0b268de56268d7bc5b6.zip
[PATCH] libata-eh: implement new EH
Implement new EH. The exported interface is ata_do_eh() which is to be called from ->error_handler and performs the following steps to recover the failed port. ata_eh_autopsy() : analyze SError/TF, determine the cause of failure and required recovery actions and record it in ap->eh_context ata_eh_report() : report the failure to user ata_eh_recover() : perform recovery actions described in ap->eh_context ata_eh_finish() : finish failed qcs LLDDs can customize error handling by modifying eh_context before calling ata_do_eh() or, if necessary, doing so inbetween each major steps by calling each step explicitly. Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'drivers/scsi/libata-core.c')
-rw-r--r--drivers/scsi/libata-core.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index 4def48ed6f46..ddc47097d37e 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -5440,3 +5440,4 @@ EXPORT_SYMBOL_GPL(ata_eh_freeze_port);
EXPORT_SYMBOL_GPL(ata_eh_thaw_port);
EXPORT_SYMBOL_GPL(ata_eh_qc_complete);
EXPORT_SYMBOL_GPL(ata_eh_qc_retry);
+EXPORT_SYMBOL_GPL(ata_do_eh);