summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2008-11-27 03:37:46 +0000
committerpeter <peter@FreeBSD.org>2008-11-27 03:37:46 +0000
commit674fd83b36fc01538206fd382726a5c5eda6353b (patch)
treed8bea7d41d2d0e16d72ba37823ec51ce00f9118a /sys/dev/ata
parent1a21be4a1f1ae5ae1b90169ba8f944296d896323 (diff)
downloadFreeBSD-src-674fd83b36fc01538206fd382726a5c5eda6353b.zip
FreeBSD-src-674fd83b36fc01538206fd382726a5c5eda6353b.tar.gz
Don't let ata_completed() dereference a null request->dma pointer to
print dma status after a media error.
Diffstat (limited to 'sys/dev/ata')
-rw-r--r--sys/dev/ata/ata-queue.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/ata/ata-queue.c b/sys/dev/ata/ata-queue.c
index 9ca57b8..c8ae79dc 100644
--- a/sys/dev/ata/ata-queue.c
+++ b/sys/dev/ata/ata-queue.c
@@ -357,7 +357,7 @@ ata_completed(void *context, int dummy)
"\6MEDIA_CHANGED\5NID_NOT_FOUND"
"\4MEDIA_CHANGE_REQEST"
"\3ABORTED\2NO_MEDIA\1ILLEGAL_LENGTH");
- if ((request->flags & ATA_R_DMA) &&
+ if ((request->flags & ATA_R_DMA) && request->dma &&
(request->dma->status & ATA_BMSTAT_ERROR))
printf(" dma=0x%02x", request->dma->status);
if (!(request->flags & (ATA_R_ATAPI | ATA_R_CONTROL)))
OpenPOWER on IntegriCloud