diff options
author | sos <sos@FreeBSD.org> | 2000-12-26 11:49:57 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2000-12-26 11:49:57 +0000 |
commit | 8db92e907c9eaa60ee1aa5df18a50494f78258b4 (patch) | |
tree | 1f23310b46dc216a008b9e9f1bff0bce72e7f5d3 | |
parent | 72891caa96ccb6a00be173bac01a6c90bc310cfb (diff) | |
download | FreeBSD-src-8db92e907c9eaa60ee1aa5df18a50494f78258b4.zip FreeBSD-src-8db92e907c9eaa60ee1aa5df18a50494f78258b4.tar.gz |
Use diskerr for printing disk hard/soft errors.
-rw-r--r-- | sys/dev/ata/ata-disk.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c index 799e9ad..36da5b7 100644 --- a/sys/dev/ata/ata-disk.c +++ b/sys/dev/ata/ata-disk.c @@ -567,16 +567,18 @@ ad_interrupt(struct ad_request *request) /* do we have a corrected soft error ? */ if (adp->controller->status & ATA_S_CORR) - printf("ad%d: soft error ECC corrected\n", adp->lun); + diskerr(request->bp, "soft (ECC corrected)", + request->blockaddr + (request->donecount / DEV_BSIZE), + &adp->disk.d_label); /* did any real errors happen ? */ if ((adp->controller->status & ATA_S_ERROR) || (request->flags & ADR_F_DMA_USED && dma_stat & ATA_BMSTAT_ERROR)) { adp->controller->error = inb(adp->controller->ioaddr + ATA_ERROR); - printf("ad%d: %s %s ERROR blk# %d", adp->lun, - (adp->controller->error & ATA_E_ICRC) ? "UDMA ICRC" : "HARD", - (request->flags & ADR_F_READ) ? "READ" : "WRITE", - request->blockaddr + (request->donecount / DEV_BSIZE)); + diskerr(request->bp, + (adp->controller->error & ATA_E_ICRC) ? "UDMA ICRC" : "hard", + request->blockaddr + (request->donecount / DEV_BSIZE), + &adp->disk.d_label); /* if this is a UDMA CRC error, reinject request */ if (request->flags & ADR_F_DMA_USED && |