aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata-eh.c
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2014-11-05 07:08:21 -0500
committerTejun Heo <tj@kernel.org>2014-11-05 11:22:06 -0500
commit9162c6579bf90b3f5ddb7e3a6c6fa946c1b4cbeb (patch)
tree2b295afd740e389e85760c7f7244b94d9887d88a /drivers/ata/libata-eh.c
parent1cbd772d9aaf6c697935cb855860b66cebacf950 (diff)
libata: Implement ATA_DEV_ZAC
Add new ATA device type for ZAC devices. Acked-by: Christoph Hellwig <hch@lst.de> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers/ata/libata-eh.c')
-rw-r--r--drivers/ata/libata-eh.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index dad83df555c4..3dbec8954c86 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -1809,6 +1809,7 @@ static unsigned int ata_eh_analyze_tf(struct ata_queued_cmd *qc,
1809 1809
1810 switch (qc->dev->class) { 1810 switch (qc->dev->class) {
1811 case ATA_DEV_ATA: 1811 case ATA_DEV_ATA:
1812 case ATA_DEV_ZAC:
1812 if (err & ATA_ICRC) 1813 if (err & ATA_ICRC)
1813 qc->err_mask |= AC_ERR_ATA_BUS; 1814 qc->err_mask |= AC_ERR_ATA_BUS;
1814 if (err & (ATA_UNC | ATA_AMNF)) 1815 if (err & (ATA_UNC | ATA_AMNF))
@@ -3792,7 +3793,8 @@ int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
3792 struct ata_eh_context *ehc = &link->eh_context; 3793 struct ata_eh_context *ehc = &link->eh_context;
3793 unsigned long tmp; 3794 unsigned long tmp;
3794 3795
3795 if (dev->class != ATA_DEV_ATA) 3796 if (dev->class != ATA_DEV_ATA &&
3797 dev->class != ATA_DEV_ZAC)
3796 continue; 3798 continue;
3797 if (!(ehc->i.dev_action[dev->devno] & 3799 if (!(ehc->i.dev_action[dev->devno] &
3798 ATA_EH_PARK)) 3800 ATA_EH_PARK))
@@ -3873,7 +3875,8 @@ int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
3873 3875
3874 /* retry flush if necessary */ 3876 /* retry flush if necessary */
3875 ata_for_each_dev(dev, link, ALL) { 3877 ata_for_each_dev(dev, link, ALL) {
3876 if (dev->class != ATA_DEV_ATA) 3878 if (dev->class != ATA_DEV_ATA &&
3879 dev->class != ATA_DEV_ZAC)
3877 continue; 3880 continue;
3878 rc = ata_eh_maybe_retry_flush(dev); 3881 rc = ata_eh_maybe_retry_flush(dev);
3879 if (rc) 3882 if (rc)