aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2007-09-23 00:14:13 -0400
committerJeff Garzik <jeff@garzik.org>2007-10-12 14:55:41 -0400
commitf9df58cb27dfd605eced643bb3aa599fe4feeee8 (patch)
tree23b5151855d07f3b25c081e29d14f5d353367248 /include/linux
parentfd995f7039f1955ccc6b43e1e2d168060b31e4b2 (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.h3
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