Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 195332
b: refs/heads/master
c: 92d2c5e
h: refs/heads/master
v: v3
  • Loading branch information
Jason Wessel authored and Greg Kroah-Hartman committed May 20, 2010
1 parent 9dea06f commit 9913170
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: aae86e8adb3bbf5256eebe76500cf7254365753c
refs/heads/master: 92d2c5e4badc622999d3b17e6dfbf6babacb52f6
22 changes: 10 additions & 12 deletions trunk/drivers/usb/serial/console.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ static int usb_console_setup(struct console *co, char *options)
struct usb_serial_port *port;
int retval;
struct tty_struct *tty = NULL;
struct ktermios *termios = NULL, dummy;
struct ktermios dummy;

dbg("%s", __func__);

Expand Down Expand Up @@ -141,15 +141,14 @@ static int usb_console_setup(struct console *co, char *options)
goto reset_open_count;
}
kref_init(&tty->kref);
termios = kzalloc(sizeof(*termios), GFP_KERNEL);
if (!termios) {
tty_port_tty_set(&port->port, tty);
tty->driver = usb_serial_tty_driver;
tty->index = co->index;
if (tty_init_termios(tty)) {
retval = -ENOMEM;
err("no more memory");
goto free_tty;
}
memset(&dummy, 0, sizeof(struct ktermios));
tty->termios = termios;
tty_port_tty_set(&port->port, tty);
}

/* only call the device specific open if this
Expand All @@ -161,16 +160,16 @@ static int usb_console_setup(struct console *co, char *options)

if (retval) {
err("could not open USB console port");
goto free_termios;
goto fail;
}

if (serial->type->set_termios) {
termios->c_cflag = cflag;
tty_termios_encode_baud_rate(termios, baud, baud);
tty->termios->c_cflag = cflag;
tty_termios_encode_baud_rate(tty->termios, baud, baud);
memset(&dummy, 0, sizeof(struct ktermios));
serial->type->set_termios(tty, port, &dummy);

tty_port_tty_set(&port->port, NULL);
kfree(termios);
kfree(tty);
}
set_bit(ASYNCB_INITIALIZED, &port->port.flags);
Expand All @@ -185,8 +184,7 @@ static int usb_console_setup(struct console *co, char *options)
mutex_unlock(&serial->disc_mutex);
return retval;

free_termios:
kfree(termios);
fail:
tty_port_tty_set(&port->port, NULL);
free_tty:
kfree(tty);
Expand Down

0 comments on commit 9913170

Please sign in to comment.