summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-05-31 18:27:27 +0900
committerTejun Heo <htejun@gmail.com>2006-05-31 18:27:27 +0900
commitc6cf9e99d1de5ca6a08fb639bb73031ffe50d802 (patch)
tree555a47d45b5b80ef14ff53ccb4c6d1439460e251 /include/linux
parent7395acb2c840fd4d0cacc91d6fb71440057141ab (diff)
[PATCH] libata: implement ata_eh_wait()
Implement ata_eh_wait(). On return from this function, it's guaranteed that the EH which was pending or in progress when the function was called is complete - including the tailing part of SCSI EH. This will be used by hotplug and others to synchronize with EH. Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/libata.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 3f9c65f1aafa..2eb5828839e4 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -157,6 +157,7 @@ enum {
ATA_FLAG_FLUSH_PORT_TASK = (1 << 14), /* flush port task */
ATA_FLAG_EH_PENDING = (1 << 15), /* EH pending */
+ ATA_FLAG_EH_IN_PROGRESS = (1 << 16), /* EH in progress */
ATA_FLAG_FROZEN = (1 << 17), /* port is frozen */
ATA_FLAG_RECOVERED = (1 << 18), /* recovery action performed */
@@ -490,6 +491,7 @@ struct ata_port {
u32 msg_enable;
struct list_head eh_done_q;
+ wait_queue_head_t eh_wait_q;
void *private_data;