diff options
Diffstat (limited to 'drivers/scsi/sata_qstor.c')
-rw-r--r-- | drivers/scsi/sata_qstor.c | 7 |
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 | } |