diff options
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/bfin_5xx.c | 19 | ||||
-rw-r--r-- | drivers/serial/mpsc.c | 3 | ||||
-rw-r--r-- | drivers/serial/serial_cs.c | 4 |
3 files changed, 21 insertions, 5 deletions
diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c index 787dc7168f3e..22569bd5d821 100644 --- a/drivers/serial/bfin_5xx.c +++ b/drivers/serial/bfin_5xx.c | |||
@@ -185,6 +185,7 @@ static void bfin_serial_rx_chars(struct bfin_serial_port *uart) | |||
185 | uart->port.icount.brk++; | 185 | uart->port.icount.brk++; |
186 | if (uart_handle_break(&uart->port)) | 186 | if (uart_handle_break(&uart->port)) |
187 | goto ignore_char; | 187 | goto ignore_char; |
188 | status &= ~(PE | FE); | ||
188 | } | 189 | } |
189 | if (status & PE) | 190 | if (status & PE) |
190 | uart->port.icount.parity++; | 191 | uart->port.icount.parity++; |
@@ -341,6 +342,7 @@ static void bfin_serial_dma_rx_chars(struct bfin_serial_port *uart) | |||
341 | uart->port.icount.brk++; | 342 | uart->port.icount.brk++; |
342 | if (uart_handle_break(&uart->port)) | 343 | if (uart_handle_break(&uart->port)) |
343 | goto dma_ignore_char; | 344 | goto dma_ignore_char; |
345 | status &= ~(PE | FE); | ||
344 | } | 346 | } |
345 | if (status & PE) | 347 | if (status & PE) |
346 | uart->port.icount.parity++; | 348 | uart->port.icount.parity++; |
@@ -517,6 +519,14 @@ static void bfin_serial_mctrl_check(struct bfin_serial_port *uart) | |||
517 | */ | 519 | */ |
518 | static void bfin_serial_break_ctl(struct uart_port *port, int break_state) | 520 | static void bfin_serial_break_ctl(struct uart_port *port, int break_state) |
519 | { | 521 | { |
522 | struct bfin_serial_port *uart = (struct bfin_serial_port *)port; | ||
523 | u16 lcr = UART_GET_LCR(uart); | ||
524 | if (break_state) | ||
525 | lcr |= SB; | ||
526 | else | ||
527 | lcr &= ~SB; | ||
528 | UART_PUT_LCR(uart, lcr); | ||
529 | SSYNC(); | ||
520 | } | 530 | } |
521 | 531 | ||
522 | static int bfin_serial_startup(struct uart_port *port) | 532 | static int bfin_serial_startup(struct uart_port *port) |
@@ -625,11 +635,12 @@ bfin_serial_set_termios(struct uart_port *port, struct ktermios *termios, | |||
625 | 635 | ||
626 | if (termios->c_cflag & CSTOPB) | 636 | if (termios->c_cflag & CSTOPB) |
627 | lcr |= STB; | 637 | lcr |= STB; |
628 | if (termios->c_cflag & PARENB) { | 638 | if (termios->c_cflag & PARENB) |
629 | lcr |= PEN; | 639 | lcr |= PEN; |
630 | if (!(termios->c_cflag & PARODD)) | 640 | if (!(termios->c_cflag & PARODD)) |
631 | lcr |= EPS; | 641 | lcr |= EPS; |
632 | } | 642 | if (termios->c_cflag & CMSPAR) |
643 | lcr |= STP; | ||
633 | 644 | ||
634 | port->read_status_mask = OE; | 645 | port->read_status_mask = OE; |
635 | if (termios->c_iflag & INPCK) | 646 | if (termios->c_iflag & INPCK) |
diff --git a/drivers/serial/mpsc.c b/drivers/serial/mpsc.c index d09f2097d5b0..00924feaf621 100644 --- a/drivers/serial/mpsc.c +++ b/drivers/serial/mpsc.c | |||
@@ -503,7 +503,8 @@ mpsc_sdma_intr_ack(struct mpsc_port_info *pi) | |||
503 | 503 | ||
504 | if (pi->mirror_regs) | 504 | if (pi->mirror_regs) |
505 | pi->shared_regs->SDMA_INTR_CAUSE_m = 0; | 505 | pi->shared_regs->SDMA_INTR_CAUSE_m = 0; |
506 | writel(0, pi->shared_regs->sdma_intr_base + SDMA_INTR_CAUSE); | 506 | writeb(0x00, pi->shared_regs->sdma_intr_base + SDMA_INTR_CAUSE + |
507 | pi->port.line); | ||
507 | return; | 508 | return; |
508 | } | 509 | } |
509 | 510 | ||
diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c index 6b76babc7fbf..a0ea43598515 100644 --- a/drivers/serial/serial_cs.c +++ b/drivers/serial/serial_cs.c | |||
@@ -842,12 +842,16 @@ static struct pcmcia_device_id serial_ids[] = { | |||
842 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Linksys", "EtherFast 10&100 + 56K PC Card (PCMLM56)", 0x0733cc81, 0xb3765033), | 842 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Linksys", "EtherFast 10&100 + 56K PC Card (PCMLM56)", 0x0733cc81, 0xb3765033), |
843 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "LINKSYS", "PCMLM336", 0xf7cb0b07, 0x7a821b58), | 843 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "LINKSYS", "PCMLM336", 0xf7cb0b07, 0x7a821b58), |
844 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "MEGAHERTZ", "XJEM1144/CCEM1144", 0xf510db04, 0x52d21e1e), | 844 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "MEGAHERTZ", "XJEM1144/CCEM1144", 0xf510db04, 0x52d21e1e), |
845 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "MICRO RESEARCH", "COMBO-L/M-336", 0xb2ced065, 0x3ced0555), | ||
846 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "NEC", "PK-UG-J001" ,0x18df0ba0 ,0x831b1064), | ||
845 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Ositech", "Trumpcard:Jack of Diamonds Modem+Ethernet", 0xc2f80cd, 0x656947b9), | 847 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Ositech", "Trumpcard:Jack of Diamonds Modem+Ethernet", 0xc2f80cd, 0x656947b9), |
846 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Ositech", "Trumpcard:Jack of Hearts Modem+Ethernet", 0xc2f80cd, 0xdc9ba5ed), | 848 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Ositech", "Trumpcard:Jack of Hearts Modem+Ethernet", 0xc2f80cd, 0xdc9ba5ed), |
847 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "PCMCIAs", "ComboCard", 0xdcfe12d3, 0xcd8906cc), | 849 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "PCMCIAs", "ComboCard", 0xdcfe12d3, 0xcd8906cc), |
848 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "PCMCIAs", "LanModem", 0xdcfe12d3, 0xc67c648f), | 850 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "PCMCIAs", "LanModem", 0xdcfe12d3, 0xc67c648f), |
849 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "TDK", "GlobalNetworker 3410/3412", 0x1eae9475, 0xd9a93bed), | 851 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "TDK", "GlobalNetworker 3410/3412", 0x1eae9475, 0xd9a93bed), |
850 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Xircom", "CreditCard Ethernet+Modem II", 0x2e3ee845, 0xeca401bf), | 852 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Xircom", "CreditCard Ethernet+Modem II", 0x2e3ee845, 0xeca401bf), |
853 | PCMCIA_PFC_DEVICE_MANF_CARD(1, 0x0032, 0x0a05), | ||
854 | PCMCIA_PFC_DEVICE_MANF_CARD(1, 0x0032, 0x1101), | ||
851 | PCMCIA_MFC_DEVICE_MANF_CARD(0, 0x0104, 0x0070), | 855 | PCMCIA_MFC_DEVICE_MANF_CARD(0, 0x0104, 0x0070), |
852 | PCMCIA_MFC_DEVICE_MANF_CARD(1, 0x0101, 0x0562), | 856 | PCMCIA_MFC_DEVICE_MANF_CARD(1, 0x0101, 0x0562), |
853 | PCMCIA_MFC_DEVICE_MANF_CARD(1, 0x0104, 0x0070), | 857 | PCMCIA_MFC_DEVICE_MANF_CARD(1, 0x0104, 0x0070), |