diff options
author | Tejun Heo <htejun@gmail.com> | 2006-06-24 20:30:18 +0900 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-06-26 20:59:27 -0400 |
commit | 64f65ca6e7a5a42df22ff29dadfff389dc388f65 (patch) | |
tree | 207c8f6957691c2da3ea54529a29b256b48dc6a9 /drivers/scsi/libata-eh.c | |
parent | af181c2d765ec9735356bc313ab9e844ec2c7a24 (diff) |
[PATCH] libata: implement and use ata_deh_dev_action()
Implement and use ata_eh_dev_action() which returns EH action mask for
a device.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/scsi/libata-eh.c')
-rw-r--r-- | drivers/scsi/libata-eh.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/scsi/libata-eh.c b/drivers/scsi/libata-eh.c index 126be36289a..c7e6298db05 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, return rc; } +static unsigned int ata_eh_dev_action(struct ata_device *dev) +{ + struct ata_eh_context *ehc = &dev->ap->eh_context; + + return ehc->i.action | ehc->i.dev_action[dev->devno]; +} + static void ata_eh_clear_action(struct ata_device *dev, struct ata_eh_info *ehi, unsigned int action) { @@ -1592,7 +1599,7 @@ static int ata_eh_revalidate_and_attach(struct ata_port *ap, unsigned int action; dev = &ap->device[i]; - action = ehc->i.action | ehc->i.dev_action[dev->devno]; + action = ata_eh_dev_action(dev); if (action & ATA_EH_REVALIDATE && ata_dev_enabled(dev)) { if (ata_port_offline(ap)) { |