diff options
author | Hannes Reinecke <hare@suse.de> | 2014-11-05 07:08:21 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2014-11-05 11:22:06 -0500 |
commit | 9162c6579bf90b3f5ddb7e3a6c6fa946c1b4cbeb (patch) | |
tree | 2b295afd740e389e85760c7f7244b94d9887d88a /drivers/ata/libata-eh.c | |
parent | 1cbd772d9aaf6c697935cb855860b66cebacf950 (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.c | 7 |
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) |