]> err.no Git - linux-2.6/blobdiff - drivers/usb/serial/console.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6] / drivers / usb / serial / console.c
index 3a9073dbfe6a40c4363f792a8534787e0495bdda..0362654d3b52e8aa53453c6cb499a8d247a9f8b2 100644 (file)
@@ -65,7 +65,7 @@ static int usb_console_setup(struct console *co, char *options)
        struct usb_serial_port *port;
        int retval = 0;
        struct tty_struct *tty;
-       struct termios *termios;
+       struct ktermios *termios;
 
        dbg ("%s", __FUNCTION__);
 
@@ -164,27 +164,27 @@ static int usb_console_setup(struct console *co, char *options)
        }
 
        if (serial->type->set_termios) {
+               struct ktermios dummy;
                /* build up a fake tty structure so that the open call has something
                 * to look at to get the cflag value */
-               tty = kmalloc (sizeof (*tty), GFP_KERNEL);
+               tty = kzalloc(sizeof(*tty), GFP_KERNEL);
                if (!tty) {
                        err ("no more memory");
                        return -ENOMEM;
                }
-               termios = kmalloc (sizeof (*termios), GFP_KERNEL);
+               termios = kzalloc(sizeof(*termios), GFP_KERNEL);
                if (!termios) {
                        err ("no more memory");
                        kfree (tty);
                        return -ENOMEM;
                }
-               memset (tty, 0x00, sizeof(*tty));
-               memset (termios, 0x00, sizeof(*termios));
+               memset(&dummy, 0, sizeof(struct ktermios));
                termios->c_cflag = cflag;
                tty->termios = termios;
                port->tty = tty;
 
                /* set up the initial termios settings */
-               serial->type->set_termios(port, NULL);
+               serial->type->set_termios(port, &dummy);
                port->tty = NULL;
                kfree (termios);
                kfree (tty);