[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;