diff options
author | peter <peter@FreeBSD.org> | 2008-11-27 03:37:46 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2008-11-27 03:37:46 +0000 |
commit | 674fd83b36fc01538206fd382726a5c5eda6353b (patch) | |
tree | d8bea7d41d2d0e16d72ba37823ec51ce00f9118a /sys/dev/ata | |
parent | 1a21be4a1f1ae5ae1b90169ba8f944296d896323 (diff) | |
download | FreeBSD-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.c | 2 |
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))) |