aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/sata_qstor.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/sata_qstor.c')
-rw-r--r--drivers/scsi/sata_qstor.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/scsi/sata_qstor.c b/drivers/scsi/sata_qstor.c
index 1aaf3304d397..d95a02fa7afb 100644
--- a/drivers/scsi/sata_qstor.c
+++ b/drivers/scsi/sata_qstor.c
@@ -400,11 +400,12 @@ static inline unsigned int qs_intr_pkt(struct ata_host_set *host_set)
400 qc = ata_qc_from_tag(ap, ap->active_tag); 400 qc = ata_qc_from_tag(ap, ap->active_tag);
401 if (qc && (!(qc->tf.ctl & ATA_NIEN))) { 401 if (qc && (!(qc->tf.ctl & ATA_NIEN))) {
402 switch (sHST) { 402 switch (sHST) {
403 case 0: /* sucessful CPB */ 403 case 0: /* successful CPB */
404 case 3: /* device error */ 404 case 3: /* device error */
405 pp->state = qs_state_idle; 405 pp->state = qs_state_idle;
406 qs_enter_reg_mode(qc->ap); 406 qs_enter_reg_mode(qc->ap);
407 ata_qc_complete(qc, sDST); 407 ata_qc_complete(qc,
408 ac_err_mask(sDST));
408 break; 409 break;
409 default: 410 default:
410 break; 411 break;
@@ -441,7 +442,7 @@ static inline unsigned int qs_intr_mmio(struct ata_host_set *host_set)
441 442
442 /* complete taskfile transaction */ 443 /* complete taskfile transaction */
443 pp->state = qs_state_idle; 444 pp->state = qs_state_idle;
444 ata_qc_complete(qc, status); 445 ata_qc_complete(qc, ac_err_mask(status));
445 handled = 1; 446 handled = 1;
446 } 447 }
447 } 448 }