1. 06 Feb, 2017 2 commits
    • Johan Hovold's avatar
      USB: serial: ftdi_sio: fix line-status over-reporting · a6bb1e17
      Johan Hovold authored
      FTDI devices use a receive latency timer to periodically empty the
      receive buffer and report modem and line status (also when the buffer is
      empty).
      
      When a break or error condition is detected the corresponding status
      flags will be set on a packet with nonzero data payload and the flags
      are not updated until the break is over or further characters are
      received.
      
      In order to avoid over-reporting break and error conditions, these flags
      must therefore only be processed for packets with payload.
      
      This specifically fixes the case where after an overrun, the error
      condition is continuously reported and NULL-characters inserted until
      further data is received.
      Reported-by: default avatarMichael Walle <michael@walle.cc>
      Fixes: 72fda3ca ("USB: serial: ftd_sio: implement sysrq handling on
      break")
      Fixes: 166ceb69 ("USB: ftdi_sio: clean up line-status handling")
      Cc: stable <stable@vger.kernel.org>	# v2.6.35
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      a6bb1e17
    • Ken Lin's avatar
      USB: serial: cp210x: add new IDs for GE Bx50v3 boards · 9a593656
      Ken Lin authored
      Add new USB IDs for cp2104/5 devices on Bx50v3 boards due to the design
      change.
      Signed-off-by: default avatarKen Lin <yungching0725@gmail.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      9a593656
  2. 31 Jan, 2017 6 commits
  3. 26 Jan, 2017 3 commits
  4. 25 Jan, 2017 1 commit
    • Johan Hovold's avatar
      USB: serial: ftdi_sio: fix extreme low-latency setting · c6dce262
      Johan Hovold authored
      Since commit 557aaa7f ("ft232: support the ASYNC_LOW_LATENCY
      flag") the FTDI driver has been using a receive latency-timer value of
      1 ms instead of the device default of 16 ms.
      
      The latency timer is used to periodically empty a non-full receive
      buffer, but a status header is always sent when the timer expires
      including when the buffer is empty. This means that a two-byte bulk
      message is received every millisecond also for an otherwise idle port as
      long as it is open.
      
      Let's restore the pre-2009 behaviour which reduces the rate of the
      status messages to 1/16th (e.g. interrupt frequency drops from 1 kHz to
      62.5 Hz) by not setting ASYNC_LOW_LATENCY by default.
      
      Anyone willing to pay the price for the minimum-latency behaviour should
      set the flag explicitly instead using the TIOCSSERIAL ioctl or a tool
      such as setserial (e.g. setserial /dev/ttyUSB0 low_latency).
      
      Note that since commit 0cbd81a9 ("USB: ftdi_sio: remove
      tty->low_latency") the ASYNC_LOW_LATENCY flag has no other effects but
      to set a minimal latency timer.
      Reported-by: default avatarAntoine Aubert <a.aubert@overkiz.com>
      Fixes: 557aaa7f ("ft232: support the ASYNC_LOW_LATENCY flag")
      Cc: stable@vger.kernel.org # v2.6.31: e3e574adSigned-off-by: default avatarJohan Hovold <johan@kernel.org>
      c6dce262
  5. 16 Jan, 2017 28 commits