aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/serial/empeg.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/drivers/usb/serial/empeg.c b/drivers/usb/serial/empeg.c
index 050fcc996f56..a5c8e1e17ea5 100644
--- a/drivers/usb/serial/empeg.c
+++ b/drivers/usb/serial/empeg.c
@@ -449,14 +449,9 @@ static int empeg_ioctl (struct usb_serial_port *port, struct file * file, unsign
449 449
450static void empeg_set_termios (struct usb_serial_port *port, struct ktermios *old_termios) 450static void empeg_set_termios (struct usb_serial_port *port, struct ktermios *old_termios)
451{ 451{
452 452 struct ktermios *termios = port->tty->termios;
453 dbg("%s - port %d", __FUNCTION__, port->number); 453 dbg("%s - port %d", __FUNCTION__, port->number);
454 454
455 if ((!port->tty) || (!port->tty->termios)) {
456 dbg("%s - no tty structures", __FUNCTION__);
457 return;
458 }
459
460 /* 455 /*
461 * The empeg-car player wants these particular tty settings. 456 * The empeg-car player wants these particular tty settings.
462 * You could, for example, change the baud rate, however the 457 * You could, for example, change the baud rate, however the
@@ -466,7 +461,7 @@ static void empeg_set_termios (struct usb_serial_port *port, struct ktermios *ol
466 * 461 *
467 * The default requirements for this device are: 462 * The default requirements for this device are:
468 */ 463 */
469 port->tty->termios->c_iflag 464 termios->c_iflag
470 &= ~(IGNBRK /* disable ignore break */ 465 &= ~(IGNBRK /* disable ignore break */
471 | BRKINT /* disable break causes interrupt */ 466 | BRKINT /* disable break causes interrupt */
472 | PARMRK /* disable mark parity errors */ 467 | PARMRK /* disable mark parity errors */
@@ -476,24 +471,23 @@ static void empeg_set_termios (struct usb_serial_port *port, struct ktermios *ol
476 | ICRNL /* disable translate CR to NL */ 471 | ICRNL /* disable translate CR to NL */
477 | IXON); /* disable enable XON/XOFF flow control */ 472 | IXON); /* disable enable XON/XOFF flow control */
478 473
479 port->tty->termios->c_oflag 474 termios->c_oflag
480 &= ~OPOST; /* disable postprocess output characters */ 475 &= ~OPOST; /* disable postprocess output characters */
481 476
482 port->tty->termios->c_lflag 477 termios->c_lflag
483 &= ~(ECHO /* disable echo input characters */ 478 &= ~(ECHO /* disable echo input characters */
484 | ECHONL /* disable echo new line */ 479 | ECHONL /* disable echo new line */
485 | ICANON /* disable erase, kill, werase, and rprnt special characters */ 480 | ICANON /* disable erase, kill, werase, and rprnt special characters */
486 | ISIG /* disable interrupt, quit, and suspend special characters */ 481 | ISIG /* disable interrupt, quit, and suspend special characters */
487 | IEXTEN); /* disable non-POSIX special characters */ 482 | IEXTEN); /* disable non-POSIX special characters */
488 483
489 port->tty->termios->c_cflag 484 termios->c_cflag
490 &= ~(CSIZE /* no size */ 485 &= ~(CSIZE /* no size */
491 | PARENB /* disable parity bit */ 486 | PARENB /* disable parity bit */
492 | CBAUD); /* clear current baud rate */ 487 | CBAUD); /* clear current baud rate */
493 488
494 port->tty->termios->c_cflag 489 termios->c_cflag
495 |= (CS8 /* character size 8 bits */ 490 |= CS8; /* character size 8 bits */
496 | B115200); /* baud rate 115200 */
497 491
498 /* 492 /*
499 * Force low_latency on; otherwise the pushes are scheduled; 493 * Force low_latency on; otherwise the pushes are scheduled;
@@ -501,8 +495,7 @@ static void empeg_set_termios (struct usb_serial_port *port, struct ktermios *ol
501 * on the floor. We don't want to drop bytes on the floor. :) 495 * on the floor. We don't want to drop bytes on the floor. :)
502 */ 496 */
503 port->tty->low_latency = 1; 497 port->tty->low_latency = 1;
504 498 tty_encode_baud_rate(port->tty, 115200, 115200);
505 return;
506} 499}
507 500
508 501