[PATCH] libata: move err_mask to ata_queued_cmd

- remove err_mask from the parameter list of the complete functions
  - move err_mask to ata_queued_cmd
  - initialize qc->err_mask when needed
  - for each function call to ata_qc_complete(), replace the err_mask parameter with qc->err_mask.

Signed-off-by: Albert Lee <albertcc@tw.ibm.com>

===============
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
Albert Lee
2005-12-05 15:38:02 +08:00
committed by Jeff Garzik
parent c14b8331ec
commit a22e2eb071
11 changed files with 86 additions and 56 deletions

View File

@@ -464,14 +464,12 @@ static inline unsigned int adma_intr_pkt(struct ata_host_set *host_set)
continue;
qc = ata_qc_from_tag(ap, ap->active_tag);
if (qc && (!(qc->tf.ctl & ATA_NIEN))) {
unsigned int err_mask = 0;
if ((status & (aPERR | aPSD | aUIRQ)))
err_mask = AC_ERR_OTHER;
qc->err_mask |= AC_ERR_OTHER;
else if (pp->pkt[0] != cDONE)
err_mask = AC_ERR_OTHER;
qc->err_mask |= AC_ERR_OTHER;
ata_qc_complete(qc, err_mask);
ata_qc_complete(qc);
}
}
return handled;
@@ -501,7 +499,8 @@ static inline unsigned int adma_intr_mmio(struct ata_host_set *host_set)
/* complete taskfile transaction */
pp->state = adma_state_idle;
ata_qc_complete(qc, ac_err_mask(status));
qc->err_mask |= ac_err_mask(status);
ata_qc_complete(qc);
handled = 1;
}
}