diff options
author | Tejun Heo <htejun@gmail.com> | 2006-05-15 07:58:05 -0400 |
---|---|---|
committer | Tejun Heo <htejun@gmail.com> | 2006-05-15 07:58:05 -0400 |
commit | f686bcb8078ac7505ec88818886c2c72639f4fc5 (patch) | |
tree | 7c563e0032b2d85b631b617b8bb2a7a648607468 /drivers/scsi/aic7xxx_old | |
parent | f69499f42caf74194df678c9c293f2ee0fe90bc3 (diff) |
[PATCH] libata-eh-fw: implement new EH scheduling via error completion
There are several ways a qc can get schedule for EH in new EH. This
patch implements one of them - completing a qc with ATA_QCFLAG_FAILED
set or with non-zero qc->err_mask. ALL such qc's are examined by EH.
New EH schedules a qc for EH from completion iff ->error_handler is
implemented, qc is marked as failed or qc->err_mask is non-zero and
the command is not an internal command (internal cmd is handled via
->post_internal_cmd). The EH scheduling itself is performed by asking
SCSI midlayer to schedule EH for the specified scmd.
For drivers implementing old-EH, nothing changes. As this change
makes ata_qc_complete() rather large, it's not inlined anymore and
__ata_qc_complete() is exported to other parts of libata for later
use.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'drivers/scsi/aic7xxx_old')
0 files changed, 0 insertions, 0 deletions