aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libata-core.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-05-15 20:58:21 +0900
committerTejun Heo <htejun@gmail.com>2006-05-15 20:58:21 +0900
commitf3e81b19aac23c0e8c55d5961324ef7de44c23bb (patch)
tree9ea0bf3c5ecabb855a78623236d07e7bc2976ca3 /drivers/scsi/libata-core.c
parent0c247c559cd70f85ba9f0764ce13ae00e20fcad8 (diff)
downloadlinux-f3e81b19aac23c0e8c55d5961324ef7de44c23bb.tar.gz
[PATCH] libata-eh: implement ata_eh_info and ata_eh_context
struct ata_eh_info serves as the communication channel between execution path and EH. Execution path describes detected error condition in ap->eh_info and EH recovers the port using it. To avoid missing error conditions detected during EH, EH makes its own copy of eh_info and clears it on entry allowing error info to accumulate during EH. Most EH states including EH's copy of eh_info are stored in ap->eh_context (struct ata_eh_context) which is owned by EH and thus doesn't require any synchronization to access and alter. This standardized context makes it easy to integrate various parts of EH and extend EH to handle multiple links (for PM). Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'drivers/scsi/libata-core.c')
0 files changed, 0 insertions, 0 deletions