summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--i386/i386at/i386at_ds_routines.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 94ac3d1..b5e6b7b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2007-01-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
+ Fix translation of port into device in the "no sender" notification.
+ * i386/i386at/i386at_ds_routines.c (ds_notify): Use dev_port_lookup()
+ for translating the remote port.
+
Fix loop indexing.
* i386/intel/pmap.c (pmap_change_wiring): Increment pte in the
unwiring loop.
diff --git a/i386/i386at/i386at_ds_routines.c b/i386/i386at/i386at_ds_routines.c
index 53a3773..bd9b08a 100644
--- a/i386/i386at/i386at_ds_routines.c
+++ b/i386/i386at/i386at_ds_routines.c
@@ -232,7 +232,8 @@ ds_notify (mach_msg_header_t *msg)
mach_no_senders_notification_t *ns;
ns = (mach_no_senders_notification_t *) msg;
- dev = (device_t) ns->not_header.msgh_remote_port;
+ dev = dev_port_lookup((ipc_port_t) ns->not_header.msgh_remote_port);
+ assert(dev);
if (dev->emul_ops->no_senders)
(*dev->emul_ops->no_senders) (ns);
return TRUE;