1. 08 Feb, 2013 2 commits
  2. 06 Feb, 2013 9 commits
  3. 04 Feb, 2013 2 commits
  4. 02 Feb, 2013 3 commits
  5. 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
  6. 30 Jan, 2013 4 commits
  7. 29 Jan, 2013 2 commits
  8. 25 Jan, 2013 13 commits
    • 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
    • Alan Stern's avatar
      USB: UHCI: notify usbcore about port resumes · 840008bb
      Alan Stern authored
      This patch (as1651) adds calls to the new
      usb_hcd_{start,end}_port_resume() functions to uhci-hcd.  Now UHCI
      root hubs won't be runtime suspended while they are sending a resume
      signal to one of their ports.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      840008bb
    • Alan Stern's avatar
      USB: EHCI: notify usbcore about port resumes · f292e7f9
      Alan Stern authored
      This patch (as1650) adds calls to the new
      usb_hcd_{start,end}_port_resume() functions to ehci-hcd.  Now EHCI
      root hubs won't be runtime suspended while they are sending a resume
      signal to one of their ports.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Tested-by: default avatarMing Lei <ming.lei@canonical.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f292e7f9
    • Alan Stern's avatar
      USB: add usb_hcd_{start,end}_port_resume · da0aa716
      Alan Stern authored
      This patch (as1649) adds a mechanism for host controller drivers to
      inform usbcore when they have begun or ended resume signalling on a
      particular root-hub port.  The core will then make sure that the root
      hub does not get runtime-suspended while the port resume is going on.
      
      Since commit 596d789a (USB: set hub's
      default autosuspend delay as 0), the system tries to suspend hubs
      whenever they aren't in use.  While a root-hub port is being resumed,
      the root hub does not appear to be in use.  Attempted runtime suspends
      fail because of the ongoing port resume, but the PM core just keeps on
      trying over and over again.  We want to prevent this wasteful effort.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Tested-by: default avatarMing Lei <ming.lei@canonical.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      da0aa716
    • Alan Stern's avatar
      USB: EHCI: unlink one async QH at a time · 6e0c3339
      Alan Stern authored
      This patch (as1648) fixes a regression affecting nVidia EHCI
      controllers.  Evidently they don't like to have more than one async QH
      unlinked at a time.  I can't imagine how they manage to mess it up,
      but at least one of them does.
      
      The patch changes the async unlink logic in two ways:
      
      	Each time an IAA cycle is started, only the first QH on the
      	async unlink list is handled (rather than all of them).
      
      	Async QHs do not all get unlinked as soon as they have been
      	empty for long enough.  Instead, only the last one (i.e., the
      	one that has been on the schedule the longest) is unlinked,
      	and then only if no other unlinks are in progress at the time.
      
      This means that when multiple QHs are empty, they won't be unlinked as
      quickly as before.  That's okay; it won't affect correct operation of
      the driver or add an excessive load.  Multiple unlinks tend to be
      relatively rare in any case.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Reported-and-tested-by: default avatarPiergiorgio Sartor <piergiorgio.sartor@nexgo.de>
      Cc: stable <stable@vger.kernel.org> # 3.6
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6e0c3339
    • Alan Stern's avatar
      USB: EHCI: remove ASS/PSS polling timeout · 55bcdce8
      Alan Stern authored
      This patch (as1647) attempts to work around a problem that seems to
      affect some nVidia EHCI controllers.  They sometimes take a very long
      time to turn off their async or periodic schedules.  I don't know if
      this is a result of other problems, but in any case it seems wise not
      to depend on schedule enables or disables taking effect in any
      specific length of time.
      
      The patch removes the existing 20-ms timeout for enabling and
      disabling the schedules.  The driver will now continue to poll the
      schedule state at 1-ms intervals until the controller finally decides
      to obey the most recent command issued by the driver.  Just in case
      this hides a problem, a debugging message will be logged if the
      controller takes longer than 20 polls.
      
      I don't know if this will actually fix anything, but it can't hurt.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Tested-by: default avatarPiergiorgio Sartor <piergiorgio.sartor@nexgo.de>
      CC: <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      55bcdce8
    • Greg Kroah-Hartman's avatar
      Merge tag 'for-usb-linus-2012-01-24' of... · a28dde61
      Greg Kroah-Hartman authored
      Merge tag 'for-usb-linus-2012-01-24' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-linus
      
      Sarah writes:
      	USB/xhci: Misc fixes for 3.8.
      
      	Hi Greg,
      
      	Here's six patches for xHCI and the USB core.  There's a couple of
      	patches to fix xHCI 1.0 field formats, some memory leaks, dead ports,
      	and USB 3.0 remote wakeup disabling.
      
      	All of these are marked for stable.
      
      	I know I owe you some re-works of failed stable patches from my last
      	patchset round, but I don't think I'm going to get to them before I head
      	off to Linux Conf Australia tomorrow.
      
      	Sarah Sharp
      a28dde61
    • Greg Kroah-Hartman's avatar
      Merge 3.8-rc5 into usb-next · 67635d39
      Greg Kroah-Hartman authored
      This fixes up a conflict with drivers/usb/serial/io_ti.c that came up in
      linux-next.
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      67635d39
    • Linus Torvalds's avatar
      Linux 3.8-rc5 · 949db153
      Linus Torvalds authored
      949db153
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · d7df025e
      Linus Torvalds authored
      Pull btrfs fixes from Chris Mason:
       "It turns out that we had two crc bugs when running fsx-linux in a
        loop.  Many thanks to Josef, Miao Xie, and Dave Sterba for nailing it
        all down.  Miao also has a new OOM fix in this v2 pull as well.
      
        Ilya fixed a regression Liu Bo found in the balance ioctls for pausing
        and resuming a running balance across drives.
      
        Josef's orphan truncate patch fixes an obscure corruption we'd see
        during xfstests.
      
        Arne's patches address problems with subvolume quotas.  If the user
        destroys quota groups incorrectly the FS will refuse to mount.
      
        The rest are smaller fixes and plugs for memory leaks."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (30 commits)
        Btrfs: fix repeated delalloc work allocation
        Btrfs: fix wrong max device number for single profile
        Btrfs: fix missed transaction->aborted check
        Btrfs: Add ACCESS_ONCE() to transaction->abort accesses
        Btrfs: put csums on the right ordered extent
        Btrfs: use right range to find checksum for compressed extents
        Btrfs: fix panic when recovering tree log
        Btrfs: do not allow logged extents to be merged or removed
        Btrfs: fix a regression in balance usage filter
        Btrfs: prevent qgroup destroy when there are still relations
        Btrfs: ignore orphan qgroup relations
        Btrfs: reorder locks and sanity checks in btrfs_ioctl_defrag
        Btrfs: fix unlock order in btrfs_ioctl_rm_dev
        Btrfs: fix unlock order in btrfs_ioctl_resize
        Btrfs: fix "mutually exclusive op is running" error code
        Btrfs: bring back balance pause/resume logic
        btrfs: update timestamps on truncate()
        btrfs: fix btrfs_cont_expand() freeing IS_ERR em
        Btrfs: fix a bug when llseek for delalloc bytes behind prealloc extents
        Btrfs: fix off-by-one in lseek
        ...
      d7df025e
    • Lan Tianyu's avatar
      usb: enable usb port device's async suspend. · 192fef18
      Lan Tianyu authored
      This patch is to set power.async_suspend for usb port in order
      to allow it to be suspended and resumed asynchronously during
      system sleep transitions.
      
      The power.async_suspend flag is also set for devices that don't have
      suspend or resume callbacks, because otherwise they would make the
      main suspend/resume thread wait for their "asynchronous" children
      (during suspend) or parents (during resume), effectively negating the
      possible gains from executing these devices' suspend and resume
      callbacks asynchronously.
      Signed-off-by: default avatarLan Tianyu <tianyu.lan@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      192fef18
    • Lan Tianyu's avatar
      usb: expose usb port's pm qos flags to user space · f6cced1a
      Lan Tianyu authored
      This patch is to expose usb port's pm qos flags(pm_qos_no_power_off,
      pm_qos_remote_wakeup) to user space. User can set pm_qos_no_power_off
      flag to prohibit the port from being powered off.
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarLan Tianyu <tianyu.lan@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f6cced1a
    • Lan Tianyu's avatar
      usb: add usb port auto power off mechanism · ad493e5e
      Lan Tianyu authored
      This patch is to add usb port auto power off mechanism.
      When usb device is suspending, usb core will suspend usb port and
      usb port runtime pm callback will clear PORT_POWER feature to
      power off port if all conditions were met. These conditions are
      remote wakeup disable, pm qos NO_POWER_OFF flag clear and persist
      enable. When it resumes, power on port again.
      
      Add did_runtime_put in the struct usb_port to ensure
      pm_runtime_get/put(portdev) to be called pairedly.  Set did_runtime_put
      to true when call pm_runtime_put(portdev) during suspending. The
      pm_runtime_get(portdev) only will be called when did_runtime_put
      is set to true during resuming. Set did_runtime_put to false after
      calling pm_runtime_get(portdev).
      
      Make clear_port_feature() and hdev_to_hub() as global symbol.
      Rename clear_port_feature() to usb_clear_port_feature() and
      hdev_to_hub() to usb_hub_to_struct_hub().
      
      Extend hub_port_debounce() with the fuction of debouncing to
      be connected. Add two wraps: hub_port_debounce_be_connected()
      and hub_port_debouce_be_stable().
      
      Increase HUB_DEBOUNCE_TIMEOUT to 2000 because some usb ssds
      needs around 1.5 or more to make the hub port status to be
      connected steadily after being powered off and powered on.
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarLan Tianyu <tianyu.lan@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ad493e5e