[libata] irq-pio: fix breakage related to err_mask merge
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index 82f566c..657537f 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -4336,7 +4336,8 @@
 		       ap->id, status, host_stat);
 
 		ap->hsm_task_state = HSM_ST_IDLE;
-		ata_qc_complete(qc, status | ATA_ERR);
+		qc->err_mask |= __ac_err_mask(status);
+		ata_qc_complete(qc);
 		break;
 	default:
 		goto idle_irq;
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c
index ef148ac..1704416 100644
--- a/drivers/scsi/sata_mv.c
+++ b/drivers/scsi/sata_mv.c
@@ -1244,7 +1244,7 @@
 				/* mark qc status appropriately */
 				if (!(qc->tf.flags & ATA_TFLAG_POLLING)) {
 					qc->err_mask |= err_mask;
-					ata_qc_complete(qc, err_mask);
+					ata_qc_complete(qc);
 				}
 			}
 		}