mach_device_deallocate just called ports_port_deref. However, the
reference counting is done by the translation functions, explicitly
reducing the reference count is just wrong.
* libmachdev/ds_routines.c (mach_device_deallocate): Remove now unused
function.
(ds_device_close): Drop spurious call to mach_device_deallocate.
---
libmachdev/ds_routines.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c
index 44f1139..2f9388a 100644
--- a/libmachdev/ds_routines.c
+++ b/libmachdev/ds_routines.c
@@ -82,12 +82,6 @@ static int num_emul;
boolean_t is_master_device (mach_port_t port);
-static inline void
-mach_device_deallocate (void *device)
-{
- ports_port_deref (device);
-}
-
/*
* What follows is the interface for the native Mach devices.
*/
@@ -180,7 +174,6 @@ ds_device_close (struct mach_device *device)
ret = (device->dev.emul_ops->close
? (*device->dev.emul_ops->close) (device->dev.emul_data)
: D_SUCCESS);
- mach_device_deallocate (device);
return ret;
}
--
1.9.1