Browse Source

[libata] irq-pio: fix breakage related to err_mask merge

Jeff Garzik 19 years ago
parent
commit
278efe9509
2 changed files with 3 additions and 2 deletions
  1. 2 1
      drivers/scsi/libata-core.c
  2. 1 1
      drivers/scsi/sata_mv.c

+ 2 - 1
drivers/scsi/libata-core.c

@@ -4336,7 +4336,8 @@ fsm_start:
 		       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;

+ 1 - 1
drivers/scsi/sata_mv.c

@@ -1244,7 +1244,7 @@ static void mv_host_intr(struct ata_host_set *host_set, u32 relevant,
 				/* 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);
 				}
 			}
 		}