info.daddr = discovery->daddr;
        info.saddr = discovery->saddr;
 
-       /* FIXME. We have a locking problem on the hashbin here.
-        * We probably need to use hashbin_find_next(), but we first
-        * need to ensure that "line" is unique. - Jean II */
-       self = (struct ircomm_tty_cb *) hashbin_get_first(ircomm_tty);
-       while (self != NULL) {
-               IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
-
-               ircomm_tty_do_event(self, IRCOMM_TTY_DISCOVERY_INDICATION,
-                                   NULL, &info);
-
-               self = (struct ircomm_tty_cb *) hashbin_get_next(ircomm_tty);
-       }
+       self = (struct ircomm_tty_cb *) priv;
+       ircomm_tty_do_event(self, IRCOMM_TTY_DISCOVERY_INDICATION,
+                           NULL, &info);
 }
 
 /*