diff options
author | sos <sos@FreeBSD.org> | 2000-03-24 07:44:20 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2000-03-24 07:44:20 +0000 |
commit | 0ab6e0ba4d3e239c835a6d00f3e04d36a1e728cd (patch) | |
tree | d2276b140efb1c6127803a097c7953e8ac90febe /sys/dev/ata | |
parent | 53bc1ed53886ac23a4fc402e8539d501e35b4210 (diff) | |
download | FreeBSD-src-0ab6e0ba4d3e239c835a6d00f3e04d36a1e728cd.zip FreeBSD-src-0ab6e0ba4d3e239c835a6d00f3e04d36a1e728cd.tar.gz |
Fix the panic occuring on non-changer devices.
Diffstat (limited to 'sys/dev/ata')
-rw-r--r-- | sys/dev/ata/atapi-cd.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/ata/atapi-cd.c b/sys/dev/ata/atapi-cd.c index b34a899..4735d1a 100644 --- a/sys/dev/ata/atapi-cd.c +++ b/sys/dev/ata/atapi-cd.c @@ -494,7 +494,7 @@ acdopen(dev_t dev, int32_t flags, int32_t fmt, struct proc *p) return EBUSY; } if (count_dev(dev) == 1) { - if (cdp->slot != cdp->changer_info->current_slot) { + if (cdp->changer_info && cdp->slot != cdp->changer_info->current_slot) { acd_select_slot(cdp); tsleep(&cdp->changer_info, PRIBIO, "acdopn", 0); } @@ -515,7 +515,7 @@ acdclose(dev_t dev, int32_t flags, int32_t fmt, struct proc *p) struct acd_softc *cdp = dev->si_drv1; if (count_dev(dev) == 1) { - if (cdp->slot != cdp->changer_info->current_slot) { + if (cdp->changer_info && cdp->slot != cdp->changer_info->current_slot) { acd_select_slot(cdp); tsleep(&cdp->changer_info, PRIBIO, "acdclo", 0); } @@ -531,7 +531,7 @@ acdioctl(dev_t dev, u_long cmd, caddr_t addr, int32_t flags, struct proc *p) struct acd_softc *cdp = dev->si_drv1; int32_t error = 0; - if (cdp->slot != cdp->changer_info->current_slot) { + if (cdp->changer_info && cdp->slot != cdp->changer_info->current_slot) { acd_select_slot(cdp); tsleep(&cdp->changer_info, PRIBIO, "acdctl", 0); } |