1. 07 11月, 2014 1 次提交
  2. 24 9月, 2014 2 次提交
  3. 11 7月, 2014 1 次提交
    • P
      serial: blackfin: Fix CTS flow control · 8bd67d7d
      Peter Hurley 提交于
      blackfin uart port drivers mistakenly set the struct uart_port
      flags bit UPF_BUG_THRE (which only has meaning to the 8250 core)
      while trying to set ASYNC_CTS_FLOW.
      
      Uart port drivers can override termios settings based on actual
      hardware support in their .set_termios method; the serial core
      sets the appropriate port flags based on the overrides.
      Overriding only the initial termios settings is accomplished
      by only perform those overrides if the old termios parameter is
      NULL.
      
      CC: Sonic Zhang <sonic.zhang@analog.com>
      CC: adi-buildroot-devel@lists.sourceforge.net
      Signed-off-by: NPeter Hurley <peter@hurleysoftware.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8bd67d7d
  4. 10 7月, 2014 1 次提交
  5. 20 6月, 2014 1 次提交
    • P
      serial: Fix IGNBRK handling · ef8b9ddc
      Peter Hurley 提交于
      If IGNBRK is set without either BRKINT or PARMRK set, some uart
      drivers send a 0x00 byte for BREAK without the TTYBREAK flag to the
      line discipline, when it should send either nothing or the TTYBREAK flag
      set. This happens because the read_status_mask masks out the BI
      condition, which uart_insert_char() then interprets as a normal 0x00 byte.
      
      SUS v3 is clear regarding the meaning of IGNBRK; Section 11.2.2, General
      Terminal Interface - Input Modes, states:
        "If IGNBRK is set, a break condition detected on input shall be ignored;
         that is, not put on the input queue and therefore not read by any
         process."
      
      Fix read_status_mask to include the BI bit if IGNBRK is set; the
      lsr status retains the BI bit if a BREAK is recv'd, which is
      subsequently ignored in uart_insert_char() when masked with the
      ignore_status_mask.
      
      Affected drivers:
      8250 - all
      serial_txx9
      mfd
      amba-pl010
      amba-pl011
      atmel_serial
      bfin_uart
      dz
      ip22zilog
      max310x
      mxs-auart
      netx-serial
      pnx8xxx_uart
      pxa
      sb1250-duart
      sccnxp
      serial_ks8695
      sirfsoc_uart
      st-asc
      vr41xx_siu
      zs
      sunzilog
      fsl_lpuart
      sunsab
      ucc_uart
      bcm63xx_uart
      sunsu
      efm32-uart
      pmac_zilog
      mpsc
      msm_serial
      m32r_sio
      
      Unaffected drivers:
      omap-serial
      rp2
      sa1100
      imx
      icom
      
      Annotated for fixes:
      altera_uart
      mcf
      
      Drivers without break detection:
      21285
      xilinx-uartps
      altera_jtaguart
      apbuart
      arc-uart
      clps711x
      max3100
      uartlite
      msm_serial_hs
      nwpserial
      lantiq
      vt8500_serial
      
      Unknown:
      samsung
      mpc52xx_uart
      bfin_sport_uart
      cpm_uart/core
      
      Fixes: Bugzilla #71651, '8250_core.c incorrectly handles IGNBRK flag'
      Reported-by: NIvan <athlon_@mail.ru>
      Signed-off-by: NPeter Hurley <peter@hurleysoftware.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ef8b9ddc
  6. 17 10月, 2013 1 次提交
  7. 07 10月, 2013 1 次提交
  8. 27 9月, 2013 1 次提交
  9. 13 8月, 2013 1 次提交
  10. 01 8月, 2013 1 次提交
  11. 27 7月, 2013 1 次提交
  12. 19 3月, 2013 1 次提交
    • J
      TTY: serial/bfin_uart, unbreak build with KGDB enabled · e99c33b9
      Jiri Slaby 提交于
      There are no (and never were any) kgdb fields in uart_ops. Setting
      them produces a build error:
      drivers/tty/serial/bfin_uart.c:1054:2: error: unknown field 'kgdboc_port_startup' specified in initializer
      drivers/tty/serial/bfin_uart.c:1054:2: warning: initialization from incompatible pointer type [enabled by default]
      drivers/tty/serial/bfin_uart.c:1054:2: warning: (near initialization for 'bfin_serial_pops.ioctl') [enabled by default]
      drivers/tty/serial/bfin_uart.c:1055:2: error: unknown field 'kgdboc_port_shutdown' specified in initializer
      drivers/tty/serial/bfin_uart.c:1055:2: warning: initialization from incompatible pointer type [enabled by default]
      drivers/tty/serial/bfin_uart.c:1055:2: warning: (near initialization for 'bfin_serial_pops.poll_init') [enabled by default]
      
      Remove them.
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Acked-by: NSonic Zhang <sonic.zhang@analog.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e99c33b9
  13. 16 1月, 2013 1 次提交
    • J
      TTY: switch tty_flip_buffer_push · 2e124b4a
      Jiri Slaby 提交于
      Now, we start converting tty buffer functions to actually use
      tty_port. This will allow us to get rid of the need of tty in many
      call sites. Only tty_port will needed and hence no more
      tty_port_tty_get in those paths.
      
      Now, the one where most of tty_port_tty_get gets removed:
      tty_flip_buffer_push.
      
      IOW we also closed all the races in drivers not using tty_port_tty_get
      at all yet.
      
      Also we move tty_flip_buffer_push declaration from include/linux/tty.h
      to include/linux/tty_flip.h to all others while we are changing it
      anyway.
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2e124b4a
  14. 22 11月, 2012 3 次提交
  15. 16 11月, 2012 1 次提交
  16. 26 10月, 2012 1 次提交
  17. 17 7月, 2012 1 次提交
  18. 18 5月, 2012 4 次提交
  19. 14 3月, 2012 1 次提交
  20. 14 12月, 2011 2 次提交
  21. 10 12月, 2011 3 次提交
  22. 23 9月, 2011 1 次提交
  23. 24 8月, 2011 3 次提交
  24. 02 7月, 2011 1 次提交
  25. 10 6月, 2011 1 次提交
  26. 04 2月, 2011 1 次提交
    • S
      serial: bfin_5xx: split uart RX lock from uart port lock to avoid deadlock · 0f66e50a
      Sonic Zhang 提交于
      The RX lock is used to protect the RX buffer from concurrent access in DMA
      mode between the timer and RX interrupt routines.  It is independent from
      the uart lock which is used to protect the TX buffer.  It is possible for
      a uart TX transfer to be started up from the RX interrupt handler if low
      latency is enabled.  So we need to split the locks to avoid deadlocking in
      this situation.
      
      In PIO mode, the RX lock is not necessary because the handle_simple_irq
      and handle_level_irq functions ensure driver interrupt handlers are called
      once on one core.
      
      And now that the RX path has its own lock, the TX interrupt has nothing to
      do with the RX path, so disabling it at the same time.
      Signed-off-by: NSonic Zhang <sonic.zhang@analog.com>
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0f66e50a
  27. 14 1月, 2011 1 次提交
    • G
      tty: move drivers/serial/ to drivers/tty/serial/ · ab4382d2
      Greg Kroah-Hartman 提交于
      The serial drivers are really just tty drivers, so move them to
      drivers/tty/ to make things a bit neater overall.
      
      This is part of the tty/serial driver movement proceedure as proposed by
      Arnd Bergmann and approved by everyone involved a number of months ago.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Rogier Wolff <R.E.Wolff@bitwizard.nl>
      Cc: Michael H. Warfield <mhw@wittsend.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      ab4382d2
  28. 10 1月, 2011 1 次提交
  29. 12 11月, 2010 1 次提交