1. 20 Feb, 2013 1 commit
  2. 18 Feb, 2013 1 commit
  3. 15 Feb, 2013 2 commits
    • Manjunath Goudar's avatar
      USB: EHCI: make ehci-orion a separate driver · 6ed3c43d
      Manjunath Goudar authored
      With the multiplatform changes in arm-soc tree, it becomes
      possible to enable the mvebu platform (which uses
      ehci-orion) at the same time as other platforms that require
      a conflicting EHCI bus glue. At the moment, this results
      in a warning like
      
      drivers/usb/host/ehci-hcd.c:1297:0: warning: "PLATFORM_DRIVER" redefined [enabled by default]
      drivers/usb/host/ehci-hcd.c:1277:0: note: this is the location of the previous definition
      drivers/usb/host/ehci-orion.c:334:31: warning: 'ehci_orion_driver' defined but not used [-Wunused-variable]
      
      and an ehci driver that only works on one of them.
      
      With the infrastructure added by Alan Stern in patch 3e023203
      "USB: EHCI: prepare to make ehci-hcd a library module", we can
      avoid this problem by turning a bus glue into a separate
      module, as we do here for the orion bus glue.
      Signed-off-by: default avatarManjunath Goudar <manjunath.goudar@linaro.org>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Andrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6ed3c43d
    • Manjunath Goudar's avatar
      USB: EHCI: make ehci-vt8500 a separate driver · d57ada0c
      Manjunath Goudar authored
      With the multiplatform changes in arm-soc tree, it becomes
      possible to enable the vt8500 platform at the same time
      as other platforms that require a conflicting EHCI bus
      glue. At the moment, this results in a warning like
      
      drivers/usb/host/ehci-hcd.c:1277:0: warning: "PLATFORM_DRIVER" redefined [enabled by default]
      drivers/usb/host/ehci-hcd.c:1257:0: note: this is the location of the previous definition
      drivers/usb/host/ehci-omap.c:319:31: warning: 'ehci_hcd_omap_driver' defined but not used [-Wunused-variable]
      
      and an ehci driver that only works on one of them.
      
      With the infrastructure added by Alan Stern in patch 3e023203
      "USB: EHCI: prepare to make ehci-hcd a library module", we can
      avoid this problem by turning a bus glue into a separate
      module, as we do here for the vt8500 bus glue.
      Signed-off-by: default avatarManjunath Goudar <manjunath.goudar@linaro.org>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarTony Prisk <linux@prisktech.co.nz>
      Cc: Alexey Charkov <alchark@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d57ada0c
  4. 14 Feb, 2013 3 commits
  5. 13 Feb, 2013 3 commits
    • Bjørn Mork's avatar
      USB: option: add Huawei "ACM" devices using protocol = vendor · 1f3f6877
      Bjørn Mork authored
      The USB device descriptor of one identity presented by a few
      Huawei morphing devices have serial functions with class codes
      02/02/ff, indicating CDC ACM with a vendor specific protocol. This
      combination is often used for MSFT RNDIS functions, and the CDC
      ACM class driver will therefore ignore such functions.
      
      The CDC ACM class driver cannot support functions with only 2
      endpoints.  The underlying serial functions of these modems are
      also believed to be the same as for alternate device identities
      already supported by the option driver. Letting the same driver
      handle these functions independently of the current identity
      ensures consistent handling and user experience.
      
      There is no need to blacklist these devices in the rndis_host
      driver. Huawei serial functions will either have only 2 endpoints
      or a CDC ACM functional descriptor with bmCapabilities != 0, making
      them correctly ignored as "non RNDIS" by that driver.
      
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1f3f6877
    • 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
    • Bjørn Mork's avatar
      USB: option: add Yota / Megafon M100-1 4g modem · cd565279
      Bjørn Mork authored
      Interface layout:
      
       00 CD-ROM
       01 debug COM port
       02 AP control port
       03 modem
       04 usb-ethernet
      
      Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  4 Spd=480  MxCh= 0
      D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
      P:  Vendor=0408 ProdID=ea42 Rev= 0.00
      S:  Manufacturer=Qualcomm, Incorporated
      S:  Product=Qualcomm CDMA Technologies MSM
      S:  SerialNumber=353568051xxxxxx
      C:* #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
      E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=84(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
      E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=86(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
      E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cd565279
  6. 08 Feb, 2013 4 commits
  7. 06 Feb, 2013 9 commits
  8. 04 Feb, 2013 2 commits
  9. 02 Feb, 2013 3 commits
  10. 31 Jan, 2013 5 commits
    • Luis Llorente Campo's avatar
      USB: add OWL CM-160 support to cp210x driver · 8de7f4da
      Luis Llorente Campo authored
      This adds support for the OWL CM-160 electricity monitor to the cp210x
      driver.
      Signed-off-by: default avatarLuis Llorente <luisllorente@luisllorente.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8de7f4da
    • Alan Stern's avatar
      USB: EHCI: fix bug in scheduling periodic split transfers · 3e619d04
      Alan Stern authored
      This patch (as1654) fixes a very old bug in ehci-hcd, connected with
      scheduling of periodic split transfers.  The calculations for
      full/low-speed bus usage are all carried out after the correction for
      bit-stuffing has been applied, but the values in the max_tt_usecs
      array assume it hasn't been.  The array should allow for allocation of
      up to 90% of the bus capacity, which is 900 us, not 780 us.
      
      The symptom caused by this bug is that any isochronous transfer to a
      full-speed device with a maxpacket size larger than about 980 bytes is
      always rejected with a -ENOSPC error.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3e619d04
    • Alan Stern's avatar
      USB: EHCI: fix for leaking isochronous data · b09a61cc
      Alan Stern authored
      This patch (as1653) fixes a bug in ehci-hcd.  Unlike iTD entries, an
      siTD entry in the periodic schedule may not complete until the frame
      after the one it belongs to.  Consequently, when scanning the periodic
      schedule it is necessary to start with the frame _preceding_ the one
      where the previous scan ended.
      
      Not doing this properly can result in memory leaks and failures to
      complete isochronous URBs.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Reported-by: default avatarAndy Leiserson <andy@leiserson.org>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b09a61cc
    • Alan Stern's avatar
      USB: GADGET: optionally force full-speed for net2280 UDC · 2f076077
      Alan Stern authored
      This patch (as1656) adds a module parameter to the net2280 UDC driver
      to force full-speed operation.  It is intended for testing purposes,
      where one wants to check how well a full-speed device performs when
      attached to a high-speed bus.  Without this parameter it would be
      necessary to interpose a full-speed hub; otherwise the net2280 would
      connect at high speed.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Acked-by: default avatarFelipe Balbi <balbi@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2f076077
    • Alan Stern's avatar
      USB: altsetting overrides for usbtest · d0b4652f
      Alan Stern authored
      The usbtest driver includes some rather simple-minded logic for
      selecting an altsetting to test.  It doesn't work well for the g_zero
      gadget, because it selects altsetting 0 (which doesn't have
      isochronous endpoints) rather than altsetting 1 (which does have them,
      if the gadget's hardware supports them).  This prevents usbtest's
      isochronous tests (15, 16, 22, and 23) from working with g_zero.
      
      Since g_zero is one of the most common gadget drivers used for USB
      testing, usbtest should do a better job of supporting it.  But since
      some programs may rely on the current scheme for selecting
      altsettings, I didn't want to change it.
      
      Instead, this patch (as1655) adds a module parameter to usbtest, which
      can be used to override the default altsetting.  Since usbtest is
      never used by normal users (most distributions probably don't even
      build it), the new module parameter won't inconvenience anybody.  In
      any case, it is entirely optional -- leaving it unset preserves the
      existing behavior.
      
      The patch also fixes a related bug in usbtest: After selecting an
      altsetting, the driver neglects to store its selection.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d0b4652f
  11. 30 Jan, 2013 4 commits
  12. 29 Jan, 2013 2 commits
  13. 25 Jan, 2013 1 commit
    • Alan Stern's avatar
      USB: EHCI: fix timer bug affecting port resume · ee74290b
      Alan Stern authored
      This patch (as1652) fixes a long-standing bug in ehci-hcd.  The driver
      relies on status polls to know when to stop port-resume signalling.
      It uses the root-hub status timer to schedule these status polls.  But
      when the driver for the root hub is resumed, the timer is rescheduled
      to go off immediately -- before the port is ready.  When this happens
      the timer does not get re-enabled, which prevents the port resume from
      finishing until some other event occurs.
      
      The symptom is that when a new device is plugged in, it doesn't get
      recognized or enumerated until lsusb is run or something else happens.
      
      The solution is to re-enable the root-hub status timer after every
      status poll while a port resume is in progress.
      
      This bug hasn't surfaced before now because we never used to try to
      suspend the root hub in the middle of a port resume (except by
      coincidence).
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Reported-and-tested-by: default avatarNorbert Preining <preining@logic.at>
      Tested-by: default avatarMing Lei <ming.lei@canonical.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ee74290b