1. 11 1月, 2017 1 次提交
    • D
      Clearing FIFOs in RS485 emulation mode causes subsequent transmits to break · 2bed8a8e
      Daniel Jedrychowski 提交于
      When in RS485 emulation mode, __do_stop_tx_rs485() calls
      serial8250_clear_fifos().  This not only clears the FIFOs, but also sets
      all bits in their control register (UART_FCR) to 0.
      
      One of the effects of this is the disabling of the FIFOs, which turns
      them into single-byte holding registers.  The rest of the driver doesn't
      know this, which results in the lions share of characters passed into a
      write call to be dropped.
      
      (I can supply logic analyzer screenshots if necessary)
      
      This fix replaces the serial8250_clear_fifos() call to
      serial8250_clear_and_reinit_fifos() - this prevents the "dropped
      characters" issue from manifesting again while retaining the requirement
      of clearing the RX FIFO after transmission if the SER_RS485_RX_DURING_TX
      flag is disabled.
      Signed-off-by: NDaniel Jedrychowski <avistel@gmail.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2bed8a8e
  2. 16 11月, 2016 2 次提交
  3. 27 10月, 2016 1 次提交
  4. 27 9月, 2016 1 次提交
  5. 22 9月, 2016 1 次提交
    • J
      tty/serial/8250: Touch NMI watchdog in wait_for_xmitr · 54f19b4a
      Jiri Olsa 提交于
      First loop in wait_for_xmitr could also trigger NMI
      watchdog in case reading from the port is slow:
      
        PID: 0      TASK: ffffffff819c1460  CPU: 0   COMMAND: "swapper/0"
         #0 [ffff88019f405e58] crash_nmi_callback at ffffffff8104d382
         #1 [ffff88019f405e68] nmi_handle at ffffffff8168ead9
         #2 [ffff88019f405eb0] do_nmi at ffffffff8168ec53
         #3 [ffff88019f405ef0] end_repeat_nmi at ffffffff8168df13
            [exception RIP: delay_tsc+50]
            RIP: ffffffff81325642  RSP: ffff88019f403bb0  RFLAGS: 00000083
            RAX: 00000000000005c8  RBX: ffffffff81f83000  RCX: 0000024e4fb88a8b
            RDX: 0000024e4fb89053  RSI: 0000000000000000  RDI: 00000000000007d1
            RBP: ffff88019f403bb0   R8: 000000000000000a   R9: 0000000000000000
            R10: 0000000000000000  R11: ffff88019f403ad6  R12: 000000000000250f
            R13: 0000000000000020  R14: ffffffff81d360c7  R15: 0000000000000047
            ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
        --- <NMI exception stack> ---
         #4 [ffff88019f403bb0] delay_tsc at ffffffff81325642
         #5 [ffff88019f403bb8] __const_udelay at ffffffff813255a8
         #6 [ffff88019f403bc8] wait_for_xmitr at ffffffff81404390
         #7 [ffff88019f403bf0] serial8250_console_putchar at ffffffff8140455c
         #8 [ffff88019f403c10] uart_console_write at ffffffff813ff00a
         #9 [ffff88019f403c40] serial8250_console_write at ffffffff814044ae
        #10 [ffff88019f403c88] call_console_drivers.constprop.15 at ffffffff81086b01
        #11 [ffff88019f403cb0] console_unlock at ffffffff8108842f
        #12 [ffff88019f403ce8] vprintk_emit at ffffffff81088834
        #13 [ffff88019f403d58] vprintk_default at ffffffff81088ba9
        #14 [ffff88019f403d68] printk at ffffffff8167f034
      
      Adding touch_nmi_watchdog call to the first loop as well.
      Reported-by: NChunyu Hu <chuhu@redhat.com>
      Signed-off-by: NJiri Olsa <jolsa@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      54f19b4a
  6. 02 9月, 2016 2 次提交
  7. 31 8月, 2016 3 次提交
  8. 26 6月, 2016 3 次提交
  9. 25 6月, 2016 1 次提交
  10. 01 5月, 2016 5 次提交
  11. 19 4月, 2016 1 次提交
  12. 08 3月, 2016 2 次提交
  13. 07 2月, 2016 8 次提交
  14. 29 1月, 2016 5 次提交
  15. 14 12月, 2015 1 次提交
  16. 05 10月, 2015 3 次提交