1. 14 Aug, 2013 2 commits
  2. 17 Jun, 2013 1 commit
    • Greg Kroah-Hartman's avatar
      USB: serial: make minor allocation dynamic · e5b1e206
      Greg Kroah-Hartman authored
      
      This moves the allocation of minor device numbers from a static array to
      be dynamic, using the idr interface.  This means that you could
      potentially get "gaps" in a minor number range for a single USB serial
      device with multiple ports, but all should still work properly.
      
      We remove the 'minor' field from the usb_serial structure, as it no
      longer makes any sense for it (use the field in the usb_serial_port
      structure if you really want to know this number), and take the fact
      that we were overloading a number in this field to determine if we had
      initialized the minor numbers or not, and just use a flag variable
      instead.
      
      Note, we still have the limitation of 255 USB to serial devices in the
      system, as that is all we are registering with the TTY layer at this
      point in time.
      Tested-by: default avatarTobias Winter <tobias@linuxdingsda.de>
      Reviewed-by: default avatarJohan Hovold <jhovold@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e5b1e206
  3. 10 Jun, 2013 1 commit
    • Greg Kroah-Hartman's avatar
      USB: serial: ports: add minor and port number · 1143832e
      Greg Kroah-Hartman authored
      
      The usb_serial_port structure had the number field, which was the minor
      number for the port, which almost no one really cared about.  They
      really wanted the number of the port within the device, which you had to
      subtract from the minor of the parent usb_serial_device structure.  To
      clean this up, provide the real minor number of the port, and the number
      of the port within the serial device separately, as these numbers might
      not be related in the future.
      
      Bonus is that this cleans up a lot of logic in the drivers, and saves
      lines overall.
      Tested-by: default avatarTobias Winter <tobias@linuxdingsda.de>
      Reviewed-by: default avatarJohan Hovold <jhovold@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      
      --
       drivers/staging/serqt_usb2/serqt_usb2.c |   21 +++--------
       drivers/usb/serial/ark3116.c            |    2 -
       drivers/usb/serial/bus.c                |    6 +--
       drivers/usb/serial/console.c            |    2 -
       drivers/usb/serial/cp210x.c             |    2 -
       drivers/usb/serial/cypress_m8.c         |    4 +-
       drivers/usb/serial/digi_acceleport.c    |    6 ---
       drivers/usb/serial/f81232.c             |    5 +-
       drivers/usb/serial/garmin_gps.c         |    6 +--
       drivers/usb/serial/io_edgeport.c        |   58 ++++++++++++--------------------
       drivers/usb/serial/io_ti.c              |   21 ++++-------
       drivers/usb/serial/keyspan.c            |   29 +++++++---------
       drivers/usb/serial/metro-usb.c          |    4 +-
       drivers/usb/serial/mos7720.c            |   37 +++++++++-----------
       drivers/usb/serial/mos7840.c            |   52 +++++++++-------------------
       drivers/usb/serial/opticon.c            |    2 -
       drivers/usb/serial/pl2303.c             |    2 -
       drivers/usb/serial/quatech2.c           |    7 +--
       drivers/usb/serial/sierra.c             |    2 -
       drivers/usb/serial/ti_usb_3410_5052.c   |   10 ++---
       drivers/usb/serial/usb-serial.c         |    7 ++-
       drivers/usb/serial/usb_wwan.c           |    2 -
       drivers/usb/serial/whiteheat.c          |   20 +++++------
       include/linux/usb/serial.h              |    6 ++-
       24 files changed, 133 insertions(+), 180 deletions(-)
      1143832e
  4. 17 May, 2013 1 commit
  5. 25 Mar, 2013 3 commits
  6. 21 Mar, 2013 2 commits
  7. 20 Mar, 2013 1 commit
  8. 18 Mar, 2013 1 commit
  9. 13 Mar, 2013 1 commit
  10. 13 Feb, 2013 1 commit
    • Johan Hovold's avatar
      USB: serial: fix null-pointer dereferences on disconnect · b2ca6990
      Johan Hovold authored
      Make sure serial-driver dtr_rts is called with disc_mutex held after
      checking the disconnected flag.
      
      Due to a bug in the tty layer, dtr_rts may get called after a device has
      been disconnected and the tty-device unregistered. Some drivers have had
      individual checks for disconnect to make sure the disconnected interface
      was not accessed, but this should really be handled in usb-serial core
      (at least until the long-standing tty-bug has been fixed).
      
      Note that the problem has been made more acute with commit 0998d063
      
      
      ("device-core: Ensure drvdata = NULL when no driver is bound") as the
      port data is now also NULL when dtr_rts is called resulting in further
      oopses.
      Reported-by: default avatarChris Ruehl <chris.ruehl@gtsys.com.hk>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b2ca6990
  11. 16 Jan, 2013 3 commits
  12. 31 Oct, 2012 1 commit
  13. 25 Oct, 2012 4 commits
  14. 18 Sep, 2012 1 commit
  15. 14 Sep, 2012 1 commit
  16. 16 Jul, 2012 1 commit
  17. 20 Jun, 2012 1 commit
  18. 10 May, 2012 2 commits