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/linux | |
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/linux')
-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 | ||