diff options
| author | Tejun Heo <htejun@gmail.com> | 2007-09-23 00:14:13 -0400 |
|---|---|---|
| committer | Jeff Garzik <jeff@garzik.org> | 2007-10-12 14:55:41 -0400 |
| commit | f9df58cb27dfd605eced643bb3aa599fe4feeee8 (patch) | |
| tree | 23b5151855d07f3b25c081e29d14f5d353367248 /include | |
| parent | fd995f7039f1955ccc6b43e1e2d168060b31e4b2 (diff) | |
libata-pmp-prep: implement ATA_LFLAG_DISABLED
Implement ATA_LFLAG_DISABLED. The flag indicates the link is disabled
due to EH recovery failure. While a link is disabled, no EH action is
taken on the link and suspend/resume become noop too.
This will be used by PMP links to manage failed links.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/libata.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index adeee7397cdb..2bd1d26c9c8d 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
| @@ -170,6 +170,7 @@ enum { | |||
| 170 | ATA_LFLAG_ASSUME_SEMB = (1 << 4), /* assume SEMB class */ | 170 | ATA_LFLAG_ASSUME_SEMB = (1 << 4), /* assume SEMB class */ |
| 171 | ATA_LFLAG_ASSUME_CLASS = ATA_LFLAG_ASSUME_ATA | ATA_LFLAG_ASSUME_SEMB, | 171 | ATA_LFLAG_ASSUME_CLASS = ATA_LFLAG_ASSUME_ATA | ATA_LFLAG_ASSUME_SEMB, |
| 172 | ATA_LFLAG_NO_RETRY = (1 << 5), /* don't retry this link */ | 172 | ATA_LFLAG_NO_RETRY = (1 << 5), /* don't retry this link */ |
| 173 | ATA_LFLAG_DISABLED = (1 << 6), /* link is disabled */ | ||
| 173 | 174 | ||
| 174 | /* struct ata_port flags */ | 175 | /* struct ata_port flags */ |
| 175 | ATA_FLAG_SLAVE_POSS = (1 << 0), /* host supports slave dev */ | 176 | ATA_FLAG_SLAVE_POSS = (1 << 0), /* host supports slave dev */ |
| @@ -289,6 +290,7 @@ enum { | |||
| 289 | ATA_EH_REVALIDATE = (1 << 0), | 290 | ATA_EH_REVALIDATE = (1 << 0), |
| 290 | ATA_EH_SOFTRESET = (1 << 1), | 291 | ATA_EH_SOFTRESET = (1 << 1), |
| 291 | ATA_EH_HARDRESET = (1 << 2), | 292 | ATA_EH_HARDRESET = (1 << 2), |
| 293 | ATA_EH_ENABLE_LINK = (1 << 3), | ||
| 292 | 294 | ||
| 293 | ATA_EH_RESET_MASK = ATA_EH_SOFTRESET | ATA_EH_HARDRESET, | 295 | ATA_EH_RESET_MASK = ATA_EH_SOFTRESET | ATA_EH_HARDRESET, |
| 294 | ATA_EH_PERDEV_MASK = ATA_EH_REVALIDATE, | 296 | ATA_EH_PERDEV_MASK = ATA_EH_REVALIDATE, |
| @@ -999,6 +1001,7 @@ static inline void ata_ehi_hotplugged(struct ata_eh_info *ehi) | |||
| 999 | { | 1001 | { |
| 1000 | ata_ehi_schedule_probe(ehi); | 1002 | ata_ehi_schedule_probe(ehi); |
| 1001 | ehi->flags |= ATA_EHI_HOTPLUGGED; | 1003 | ehi->flags |= ATA_EHI_HOTPLUGGED; |
| 1004 | ehi->action |= ATA_EH_ENABLE_LINK; | ||
| 1002 | ehi->err_mask |= AC_ERR_ATA_BUS; | 1005 | ehi->err_mask |= AC_ERR_ATA_BUS; |
| 1003 | } | 1006 | } |
| 1004 | 1007 | ||
