diff options
author | mux <mux@FreeBSD.org> | 2004-05-22 00:44:08 +0000 |
---|---|---|
committer | mux <mux@FreeBSD.org> | 2004-05-22 00:44:08 +0000 |
commit | ba12e172bb7bfddb08099508e528526a9df20475 (patch) | |
tree | 59af537f377d086f32a7b973cc7666f8d8991c1c /sys/dev/agp | |
parent | 50df38a36ce748c6ef04c6530db03837f6f8aa7e (diff) | |
download | FreeBSD-src-ba12e172bb7bfddb08099508e528526a9df20475.zip FreeBSD-src-ba12e172bb7bfddb08099508e528526a9df20475.tar.gz |
Plug three lock leaks.
Diffstat (limited to 'sys/dev/agp')
-rw-r--r-- | sys/dev/agp/agp.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/agp/agp.c b/sys/dev/agp/agp.c index f507aa6..03d5937 100644 --- a/sys/dev/agp/agp.c +++ b/sys/dev/agp/agp.c @@ -493,6 +493,7 @@ agp_generic_bind_memory(device_t dev, struct agp_memory *mem, if (mem->am_is_bound) { device_printf(dev, "memory already bound\n"); + lockmgr(&sc->as_lock, LK_RELEASE, 0, curthread); return EINVAL; } @@ -501,6 +502,7 @@ agp_generic_bind_memory(device_t dev, struct agp_memory *mem, || offset + mem->am_size > AGP_GET_APERTURE(dev)) { device_printf(dev, "binding memory at bad offset %#x\n", (int) offset); + lockmgr(&sc->as_lock, LK_RELEASE, 0, curthread); return EINVAL; } @@ -596,6 +598,7 @@ agp_generic_unbind_memory(device_t dev, struct agp_memory *mem) if (!mem->am_is_bound) { device_printf(dev, "memory is not bound\n"); + lockmgr(&sc->as_lock, LK_RELEASE, 0, curthread); return EINVAL; } |