Hi, this small piece is missing in my last patch, because I associated with my kbd hack (but it is related to the io_perm range pseudo devices).
2002-02-28 Marcus Brinkmann <[EMAIL PROTECTED]> * oskit/ds_routines.c (device_deallocate): Allow DEVICE->com_device to be NULL for simple pseudo device handlers. --- oskit/ds_routines.c.old Fri Mar 1 20:15:22 2002 +++ oskit/ds_routines.c Fri Mar 1 20:16:04 2002 @@ -135,19 +135,21 @@ } simple_unlock (&device->ref_lock); - assert (device->com_device); + if (device->com_device) + { + simple_lock(&dev_hash_lock); + simple_lock(&device->ref_lock); + if (--device->ref_count > 0) + { + simple_unlock (&device->ref_lock); + simple_unlock (&dev_hash_lock); + return; + } - simple_lock(&dev_hash_lock); - simple_lock(&device->ref_lock); - if (--device->ref_count > 0) { - simple_unlock (&device->ref_lock); - simple_unlock (&dev_hash_lock); - return; - } - - dev_hash_remove (device); - simple_unlock(&device->ref_lock); - simple_unlock(&dev_hash_lock); + dev_hash_remove (device); + simple_unlock(&device->ref_lock); + simple_unlock(&dev_hash_lock); + } /* Destroy the port. */ ipc_kobject_set (device->port, IKO_NULL, IKOT_NONE); _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd