struct gdm *gdm = tty->driver_data;
 
        if (!GDM_TTY_READY(gdm))
-               return -ENODEV;
+               return 0;
 
        return WRITE_SIZE;
 }
 
 
        /* FIXME: Exactly how is the tty object locked here .. */
        if (!tty)
-               return -ENODEV;
+               return 0;
 
        if (!tty->port.count)
-               return -EINVAL;
+               return 0;
 
        room = IPWIRELESS_TX_QUEUE_SIZE - tty->tx_bytes_queued;
        if (room < 0)
 
 {
        struct gsm_dlci *dlci = tty->driver_data;
        if (dlci->state == DLCI_CLOSED)
-               return -EINVAL;
+               return 0;
        return TX_SIZE - kfifo_len(&dlci->fifo);
 }
 
 
        port = vcc_get_ne(tty->index);
        if (unlikely(!port)) {
                pr_err("VCC: write_room: Failed to find VCC port\n");
-               return -ENODEV;
+               return 0;
        }
 
        num = VCC_BUFF_LEN - port->chars_in_buffer;
 
 
        mos7720_port = usb_get_serial_port_data(port);
        if (mos7720_port == NULL)
-               return -ENODEV;
+               return 0;
 
        /* FIXME: Locking */
        for (i = 0; i < NUM_URBS; ++i) {