[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>
This commit is contained in:
parent
7395acb2c8
commit
c6cf9e99d1
4 changed files with 42 additions and 0 deletions
|
@ -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;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue