diff options
Diffstat (limited to 'drivers/scsi/libata-core.c')
-rw-r--r-- | drivers/scsi/libata-core.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index 5b6bc3655068..50fb7cea94eb 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c | |||
@@ -1126,10 +1126,9 @@ ata_exec_internal(struct ata_port *ap, struct ata_device *dev, | |||
1126 | qc->private_data = &wait; | 1126 | qc->private_data = &wait; |
1127 | qc->complete_fn = ata_qc_complete_internal; | 1127 | qc->complete_fn = ata_qc_complete_internal; |
1128 | 1128 | ||
1129 | if (ata_qc_issue(qc)) { | 1129 | qc->err_mask = ata_qc_issue(qc); |
1130 | qc->err_mask = AC_ERR_OTHER; | 1130 | if (qc->err_mask) |
1131 | ata_qc_complete(qc); | 1131 | ata_qc_complete(qc); |
1132 | } | ||
1133 | 1132 | ||
1134 | spin_unlock_irqrestore(&ap->host_set->lock, flags); | 1133 | spin_unlock_irqrestore(&ap->host_set->lock, flags); |
1135 | 1134 | ||
@@ -3860,10 +3859,10 @@ static inline int ata_should_dma_map(struct ata_queued_cmd *qc) | |||
3860 | * spin_lock_irqsave(host_set lock) | 3859 | * spin_lock_irqsave(host_set lock) |
3861 | * | 3860 | * |
3862 | * RETURNS: | 3861 | * RETURNS: |
3863 | * Zero on success, negative on error. | 3862 | * Zero on success, AC_ERR_* mask on failure |
3864 | */ | 3863 | */ |
3865 | 3864 | ||
3866 | int ata_qc_issue(struct ata_queued_cmd *qc) | 3865 | unsigned int ata_qc_issue(struct ata_queued_cmd *qc) |
3867 | { | 3866 | { |
3868 | struct ata_port *ap = qc->ap; | 3867 | struct ata_port *ap = qc->ap; |
3869 | 3868 | ||
@@ -3888,7 +3887,7 @@ int ata_qc_issue(struct ata_queued_cmd *qc) | |||
3888 | 3887 | ||
3889 | sg_err: | 3888 | sg_err: |
3890 | qc->flags &= ~ATA_QCFLAG_DMAMAP; | 3889 | qc->flags &= ~ATA_QCFLAG_DMAMAP; |
3891 | return -1; | 3890 | return AC_ERR_SYSTEM; |
3892 | } | 3891 | } |
3893 | 3892 | ||
3894 | 3893 | ||
@@ -3907,10 +3906,10 @@ sg_err: | |||
3907 | * spin_lock_irqsave(host_set lock) | 3906 | * spin_lock_irqsave(host_set lock) |
3908 | * | 3907 | * |
3909 | * RETURNS: | 3908 | * RETURNS: |
3910 | * Zero on success, negative on error. | 3909 | * Zero on success, AC_ERR_* mask on failure |
3911 | */ | 3910 | */ |
3912 | 3911 | ||
3913 | int ata_qc_issue_prot(struct ata_queued_cmd *qc) | 3912 | unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc) |
3914 | { | 3913 | { |
3915 | struct ata_port *ap = qc->ap; | 3914 | struct ata_port *ap = qc->ap; |
3916 | 3915 | ||
@@ -4015,7 +4014,7 @@ int ata_qc_issue_prot(struct ata_queued_cmd *qc) | |||
4015 | 4014 | ||
4016 | default: | 4015 | default: |
4017 | WARN_ON(1); | 4016 | WARN_ON(1); |
4018 | return -1; | 4017 | return AC_ERR_SYSTEM; |
4019 | } | 4018 | } |
4020 | 4019 | ||
4021 | return 0; | 4020 | return 0; |