Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
serial: imx.c: fix CTS trigger level lower to avoid lost chars
tty: Fix unbalanced BKL handling in error path
serial: mpc52xx_uart: fix null pointer dereference

+11 -2
+1
drivers/char/tty_io.c
··· 1875 1875 */ 1876 1876 if (filp->f_op == &hung_up_tty_fops) 1877 1877 filp->f_op = &tty_fops; 1878 + unlock_kernel(); 1878 1879 goto retry_open; 1879 1880 } 1880 1881 unlock_kernel();
+9 -1
drivers/serial/imx.c
··· 120 120 #define MX2_UCR3_RXDMUXSEL (1<<2) /* RXD Muxed Input Select, on mx2/mx3 */ 121 121 #define UCR3_INVT (1<<1) /* Inverted Infrared transmission */ 122 122 #define UCR3_BPEN (1<<0) /* Preset registers enable */ 123 - #define UCR4_CTSTL_32 (32<<10) /* CTS trigger level (32 chars) */ 123 + #define UCR4_CTSTL_SHF 10 /* CTS trigger level shift */ 124 + #define UCR4_CTSTL_MASK 0x3F /* CTS trigger is 6 bits wide */ 124 125 #define UCR4_INVR (1<<9) /* Inverted infrared reception */ 125 126 #define UCR4_ENIRI (1<<8) /* Serial infrared interrupt enable */ 126 127 #define UCR4_WKEN (1<<7) /* Wake interrupt enable */ ··· 592 591 return 0; 593 592 } 594 593 594 + /* half the RX buffer size */ 595 + #define CTSTL 16 596 + 595 597 static int imx_startup(struct uart_port *port) 596 598 { 597 599 struct imx_port *sport = (struct imx_port *)port; ··· 610 606 611 607 if (USE_IRDA(sport)) 612 608 temp |= UCR4_IRSC; 609 + 610 + /* set the trigger level for CTS */ 611 + temp &= ~(UCR4_CTSTL_MASK<< UCR4_CTSTL_SHF); 612 + temp |= CTSTL<< UCR4_CTSTL_SHF; 613 613 614 614 writel(temp & ~UCR4_DREN, sport->port.membase + UCR4); 615 615
+1 -1
drivers/serial/mpc52xx_uart.c
··· 1467 1467 /* 1468 1468 * Map the PSC FIFO Controller and init if on MPC512x. 1469 1469 */ 1470 - if (psc_ops->fifoc_init) { 1470 + if (psc_ops && psc_ops->fifoc_init) { 1471 1471 ret = psc_ops->fifoc_init(); 1472 1472 if (ret) 1473 1473 return ret;