From 428f554873ce3fe7c4e07271e411bd21584cc74d Mon Sep 17 00:00:00 2001 From: rwatson Date: Tue, 3 Jan 2006 09:49:10 +0000 Subject: When returning EIO from DEVFSIO_RADD ioctl, drop the exclusive rule lock. Otherwise the system comes to a rather sudden and grinding halt. MFC after: 1 week --- sys/fs/devfs/devfs_rule.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'sys') diff --git a/sys/fs/devfs/devfs_rule.c b/sys/fs/devfs/devfs_rule.c index 840f9f9..bfd23b7 100644 --- a/sys/fs/devfs/devfs_rule.c +++ b/sys/fs/devfs/devfs_rule.c @@ -186,8 +186,10 @@ devfs_rules_ioctl(struct devfs_mount *dm, u_long cmd, caddr_t data, struct threa error = EEXIST; break; } - if (rid2rsn(dr->dr_id) == 0) - return (EIO); + if (rid2rsn(dr->dr_id) == 0) { + error = EIO; + break; + } error = devfs_rule_insert(dr); break; case DEVFSIO_RAPPLY: -- cgit v1.1