diff options
author | Tejun Heo <htejun@gmail.com> | 2006-05-15 07:58:22 -0400 |
---|---|---|
committer | Tejun Heo <htejun@gmail.com> | 2006-05-15 07:58:22 -0400 |
commit | 022bdb075b9e1f224088a0b268de56268d7bc5b6 (patch) | |
tree | 05878e28202f0a86bdcc32ae5d995db9f15042da /drivers/scsi/libata-core.c | |
parent | f3e81b19aac23c0e8c55d5961324ef7de44c23bb (diff) |
[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.c | 1 |
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); | |||
5440 | EXPORT_SYMBOL_GPL(ata_eh_thaw_port); | 5440 | EXPORT_SYMBOL_GPL(ata_eh_thaw_port); |
5441 | EXPORT_SYMBOL_GPL(ata_eh_qc_complete); | 5441 | EXPORT_SYMBOL_GPL(ata_eh_qc_complete); |
5442 | EXPORT_SYMBOL_GPL(ata_eh_qc_retry); | 5442 | EXPORT_SYMBOL_GPL(ata_eh_qc_retry); |
5443 | EXPORT_SYMBOL_GPL(ata_do_eh); | ||