Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight
[cascardo/linux.git] / drivers / usb / class / cdc-acm.c
index 2bfc41e..e3861b2 100644 (file)
@@ -59,6 +59,7 @@
 #include <linux/init.h>
 #include <linux/slab.h>
 #include <linux/tty.h>
+#include <linux/serial.h>
 #include <linux/tty_driver.h>
 #include <linux/tty_flip.h>
 #include <linux/module.h>
@@ -609,6 +610,7 @@ static int acm_tty_open(struct tty_struct *tty, struct file *filp)
        acm->throttle = 0;
 
        tasklet_schedule(&acm->urb_task);
+       set_bit(ASYNCB_INITIALIZED, &acm->port.flags);
        rv = tty_port_block_til_ready(&acm->port, tty, filp);
 done:
        mutex_unlock(&acm->mutex);
@@ -858,10 +860,7 @@ static void acm_tty_set_termios(struct tty_struct *tty,
        if (!ACM_READY(acm))
                return;
 
-       /* FIXME: Needs to support the tty_baud interface */
-       /* FIXME: Broken on sparc */
-       newline.dwDTERate = cpu_to_le32p(acm_tty_speed +
-               (termios->c_cflag & CBAUD & ~CBAUDEX) + (termios->c_cflag & CBAUDEX ? 15 : 0));
+       newline.dwDTERate = cpu_to_le32(tty_get_baud_rate(tty));
        newline.bCharFormat = termios->c_cflag & CSTOPB ? 2 : 0;
        newline.bParityType = termios->c_cflag & PARENB ?
                                (termios->c_cflag & PARODD ? 1 : 2) +