diff options
author | marcel <marcel@FreeBSD.org> | 2009-02-20 23:01:27 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2009-02-20 23:01:27 +0000 |
commit | 29e2f2f76ecb78beb8acb9a2583f6a4e26eddf66 (patch) | |
tree | 4883900e8e5e61033598cbb2a455bde88291509f /sys/dev | |
parent | 5369399ef93d25e6ffca44b8dcb5adea262495b4 (diff) | |
download | FreeBSD-src-29e2f2f76ecb78beb8acb9a2583f6a4e26eddf66.zip FreeBSD-src-29e2f2f76ecb78beb8acb9a2583f6a4e26eddf66.tar.gz |
Don't read the TOC for DIOCGPROVIDERALIAS. This causes the
acd code to create new provider (?), but not from an expected
context, which results in a panic (GEOM topology not held).
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ata/atapi-cd.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/ata/atapi-cd.c b/sys/dev/ata/atapi-cd.c index 5d6208f..ba65a6b 100644 --- a/sys/dev/ata/atapi-cd.c +++ b/sys/dev/ata/atapi-cd.c @@ -219,7 +219,10 @@ acd_geom_ioctl(struct g_provider *pp, u_long cmd, void *addr, int fflag, struct case CDIOCRESET: acd_test_ready(dev); break; - + + case DIOCGPROVIDERALIAS: + break; + default: acd_read_toc(dev); acd_prevent_allow(dev, 1); |