|
@@ -2584,6 +2584,12 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios,
|
|
|
unsigned long flags;
|
|
|
unsigned int baud, quot, frac = 0;
|
|
|
|
|
|
+ if (up->capabilities & UART_CAP_MINI) {
|
|
|
+ termios->c_cflag &= ~(CSTOPB | PARENB | PARODD | CMSPAR);
|
|
|
+ if ((termios->c_cflag & CSIZE) == CS5 ||
|
|
|
+ (termios->c_cflag & CSIZE) == CS6)
|
|
|
+ termios->c_cflag = (termios->c_cflag & ~CSIZE) | CS7;
|
|
|
+ }
|
|
|
cval = serial8250_compute_lcr(up, termios->c_cflag);
|
|
|
|
|
|
baud = serial8250_get_baud_rate(port, termios, old);
|