1. 30 Jan, 2013 5 commits
    • Dirkjan Bussink's avatar
      tty: Prevent deadlock in n_gsm driver · 4d9b1090
      Dirkjan Bussink authored
      This change fixes a deadlock when the multiplexer is closed while there
      are still client side ports open.
      
      When the multiplexer is closed and there are active tty's it tries to
      close them with tty_vhangup. This has a problem though, because
      tty_vhangup needs the tty_lock. This patch changes it to unlock the
      tty_lock before attempting the hangup and relocks afterwards. The
      additional call to tty_port_tty_set is needed because otherwise the
      port stays active because of the reference counter.
      
      This change also exposed another problem that other code paths don't
      expect that the multiplexer could have been closed. This patch also adds
      checks for these cases in the gsmtty_ class of function that could be
      called.
      
      The documentation explicitly states that "first close all virtual ports
      before closing the physical port" but we've found this to not always
      reality in our field situations. The GPRS / UTMS modem sometimes crashes
      and needs a power cycle in that case which means cleanly shutting down
      everything is not always possible. This change makes it much more robust
      for our situation where at least the system is recoverable with this patch
      and doesn't hang in a deadlock situation inside the kernel.
      
      The patch is against the long term support kernel (3.4.27) and should
      apply cleanly to more recent branches. Tested with a Telit GE864-QUADV2
      and Telit HE910 modem.
      Signed-off-by: default avatarDirkjan Bussink <dirkjan.bussink@nedap.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4d9b1090
    • John Crispin's avatar
      serial: ralink: adds support for the serial core found on ralink wisoc · c420811f
      John Crispin authored
      The MIPS based Ralink WiSoC platform has 1 or more 8250 compatible serial cores.
      To make them work we require the same quirks that are used by AU1x00.
      Signed-off-by: default avatarJohn Crispin <blogic@openwrt.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c420811f
    • Joe Perches's avatar
      TTY: synclink: Convert + to | for bit operations · 9fe8074b
      Joe Perches authored
      Dan Carpenter noticed a missing set of parentheses
      around a multiple field addition.
      
      https://lkml.org/lkml/2013/1/27/166
      
      His original commit message:
      
      There is a kind of precedence problem here, but it doesn't affect how
      the code works because ->serial_signals is unsigned char.  We want to
      clear two flags here.
      
      #define SerialSignal_RTS            0x20     /* Request to Send */
      #define SerialSignal_DTR            0x80     /* Data Terminal Ready */
      
      Without the parenthesis then it does:
      
      	info->serial_signals &= 0x5f;
      
      With the parenthesis it does:
      
      	info->serial_signals &= 0xffffff5f;
      
      info->serial_signals is an unsigned char so the two statements are
      equivalent, but it's cleaner to add the parenthesis.  In other dtr_rts()
      functions the parenthesis are there so this makes it more consistent.
      
      Other changes:
      
      Convert all + uses to | for these bit operations.
      
      Reorder the multiple fields for consistency.
      Update the comments too.
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9fe8074b
    • Stephen Chivers's avatar
      serial/8250: Add suport for later SUNIX (TIMEDIA) boards. · abd7baca
      Stephen Chivers authored
      Add support for later SUNIX (TIMEDIA) Universal PCI Single and Multi-Port
      Communications Boards.
      
      These boards have PCI Vendor ID 1fd4 with device ID 1999 but otherwise
      appear to be the same as the TIMEDIA boards already supported by 8250_pci
      and parport_serial.
      
      Tested with:
      
      	a. the two port serial board part number SER5037A,
      	b. the two port serial and one port parallel board part number
      	   MIO5079A.
      Signed-off-by: default avatarStephen Chivers <schivers@csc.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      abd7baca
    • Greg Kroah-Hartman's avatar
      Revert "n_tty: Unthrottle tty when flushing read buffer" · 1651d0a9
      Greg Kroah-Hartman authored
      This reverts commit 58f82be3.
      
      This was fixed by a previous patch already.
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1651d0a9
  2. 25 Jan, 2013 10 commits
  3. 24 Jan, 2013 25 commits