diff options
Diffstat (limited to 'include/scsi/scsi_host.h')
| -rw-r--r-- | include/scsi/scsi_host.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index 916144be208b..69313ba7505b 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h | |||
| @@ -439,6 +439,8 @@ enum scsi_host_state { | |||
| 439 | SHOST_CANCEL, | 439 | SHOST_CANCEL, |
| 440 | SHOST_DEL, | 440 | SHOST_DEL, |
| 441 | SHOST_RECOVERY, | 441 | SHOST_RECOVERY, |
| 442 | SHOST_CANCEL_RECOVERY, | ||
| 443 | SHOST_DEL_RECOVERY, | ||
| 442 | }; | 444 | }; |
| 443 | 445 | ||
| 444 | struct Scsi_Host { | 446 | struct Scsi_Host { |
| @@ -465,8 +467,6 @@ struct Scsi_Host { | |||
| 465 | 467 | ||
| 466 | struct list_head eh_cmd_q; | 468 | struct list_head eh_cmd_q; |
| 467 | struct task_struct * ehandler; /* Error recovery thread. */ | 469 | struct task_struct * ehandler; /* Error recovery thread. */ |
| 468 | struct semaphore * eh_wait; /* The error recovery thread waits | ||
| 469 | on this. */ | ||
| 470 | struct semaphore * eh_action; /* Wait for specific actions on the | 470 | struct semaphore * eh_action; /* Wait for specific actions on the |
| 471 | host. */ | 471 | host. */ |
| 472 | unsigned int eh_active:1; /* Indicates the eh thread is awake and active if | 472 | unsigned int eh_active:1; /* Indicates the eh thread is awake and active if |
| @@ -621,6 +621,13 @@ static inline struct Scsi_Host *dev_to_shost(struct device *dev) | |||
| 621 | return container_of(dev, struct Scsi_Host, shost_gendev); | 621 | return container_of(dev, struct Scsi_Host, shost_gendev); |
| 622 | } | 622 | } |
| 623 | 623 | ||
| 624 | static inline int scsi_host_in_recovery(struct Scsi_Host *shost) | ||
| 625 | { | ||
| 626 | return shost->shost_state == SHOST_RECOVERY || | ||
| 627 | shost->shost_state == SHOST_CANCEL_RECOVERY || | ||
| 628 | shost->shost_state == SHOST_DEL_RECOVERY; | ||
| 629 | } | ||
| 630 | |||
| 624 | extern int scsi_queue_work(struct Scsi_Host *, struct work_struct *); | 631 | extern int scsi_queue_work(struct Scsi_Host *, struct work_struct *); |
| 625 | extern void scsi_flush_work(struct Scsi_Host *); | 632 | extern void scsi_flush_work(struct Scsi_Host *); |
| 626 | 633 | ||
