* line status register.
         */
        if (info->flags & ISDN_ASYNC_INITIALIZED) {
-               tty_wait_until_sent(tty, 3000); /* 30 seconds timeout */
+               tty_wait_until_sent_from_close(tty, 3000);      /* 30 seconds timeout */
                /*
                 * Before we drop DTR, make sure the UART transmitter
                 * has completely drained; this is especially
 
                 * there is no buffered data otherwise sleeps on a wait queue
                 * waking periodically to check chars_in_buffer().
                 */
-               tty_wait_until_sent(tty, HVC_CLOSE_WAIT);
+               tty_wait_until_sent_from_close(tty, HVC_CLOSE_WAIT);
        } else {
                if (hp->count < 0)
                        printk(KERN_ERR "hvc_close %X: oops, count is %d\n",
 
                irq = hvcsd->vdev->irq;
                spin_unlock_irqrestore(&hvcsd->lock, flags);
 
-               tty_wait_until_sent(tty, HVCS_CLOSE_WAIT);
+               tty_wait_until_sent_from_close(tty, HVCS_CLOSE_WAIT);
 
                /*
                 * This line is important because it tells hvcs_open that this
 
        spin_unlock_irqrestore(&port->lock, flags);
 
        if (port->closing_wait != ASYNC_CLOSING_WAIT_NONE)
-               tty_wait_until_sent(tty, msecs_to_jiffies(port->closing_wait));
+               tty_wait_until_sent_from_close(tty,
+                               msecs_to_jiffies(port->closing_wait));
 
        /*
         * At this point, we stop accepting input.  To do this, we
 
         */
        tty->closing = 1;
        if (self->closing_wait != ASYNC_CLOSING_WAIT_NONE)
-               tty_wait_until_sent(tty, self->closing_wait);
+               tty_wait_until_sent_from_close(tty, self->closing_wait);
 
        ircomm_tty_shutdown(self);