aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/libata-eh.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/scsi/libata-eh.c b/drivers/scsi/libata-eh.c
index 126be36289a7..c7e6298db050 100644
--- a/drivers/scsi/libata-eh.c
+++ b/drivers/scsi/libata-eh.c
@@ -93,6 +93,13 @@ static int ata_ering_map(struct ata_ering *ering,
93 return rc; 93 return rc;
94} 94}
95 95
96static unsigned int ata_eh_dev_action(struct ata_device *dev)
97{
98 struct ata_eh_context *ehc = &dev->ap->eh_context;
99
100 return ehc->i.action | ehc->i.dev_action[dev->devno];
101}
102
96static void ata_eh_clear_action(struct ata_device *dev, 103static void ata_eh_clear_action(struct ata_device *dev,
97 struct ata_eh_info *ehi, unsigned int action) 104 struct ata_eh_info *ehi, unsigned int action)
98{ 105{
@@ -1592,7 +1599,7 @@ static int ata_eh_revalidate_and_attach(struct ata_port *ap,
1592 unsigned int action; 1599 unsigned int action;
1593 1600
1594 dev = &ap->device[i]; 1601 dev = &ap->device[i];
1595 action = ehc->i.action | ehc->i.dev_action[dev->devno]; 1602 action = ata_eh_dev_action(dev);
1596 1603
1597 if (action & ATA_EH_REVALIDATE && ata_dev_enabled(dev)) { 1604 if (action & ATA_EH_REVALIDATE && ata_dev_enabled(dev)) {
1598 if (ata_port_offline(ap)) { 1605 if (ata_port_offline(ap)) {