summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2000-10-22 12:16:51 +0000
committersos <sos@FreeBSD.org>2000-10-22 12:16:51 +0000
commit9e0e3d034b677518f8af7df9f8ed2b3033bc1ed8 (patch)
treeeb8a9c1df4326a1e0a36ebfa664ded7bb7770c93 /sys
parentf1b24f95416173d03c6a4d7a4816aa8a9f195eda (diff)
downloadFreeBSD-src-9e0e3d034b677518f8af7df9f8ed2b3033bc1ed8.zip
FreeBSD-src-9e0e3d034b677518f8af7df9f8ed2b3033bc1ed8.tar.gz
Get the prober error code instead of relying on scp->error to contain
the lastest greatest.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/ata/ata-disk.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c
index 8712eaa..04fb26f 100644
--- a/sys/dev/ata/ata-disk.c
+++ b/sys/dev/ata/ata-disk.c
@@ -572,6 +572,7 @@ ad_interrupt(struct ad_request *request)
/* 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",
OpenPOWER on IntegriCloud