1. 17 5月, 2013 3 次提交
  2. 16 5月, 2013 7 次提交
    • A
      USB: remove remaining instances of USB_SUSPEND · 98f541c6
      Alan Stern 提交于
      Commit 84ebc102 (USB: remove
      CONFIG_USB_SUSPEND option) failed to remove all of the usages of
      USB_SUSPEND throughout the kernel.  This patch (as1677) removes the
      remaining instances of that symbol.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      98f541c6
    • A
      USB: OHCI: fix logic for scheduling isochronous URBs · 815fa7b9
      Alan Stern 提交于
      The isochronous scheduling logic in ohci-hcd has a bug.  The
      calculation for skipping TDs that are too late should be carried out
      only in the !URB_ISO_ASAP case.  When URB_ISO_ASAP is set, the URB is
      pushed back so that none of the TDs are too late, which would cause
      the calculation to overflow.
      
      The patch also fixes the calculation to avoid overflow in the case
      where the frame value wraps around.
      
      This should be applied to -stable kernels going back to 3.8.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      CC: <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      815fa7b9
    • A
      USB: fix latency in uhci-hcd and ohci-hcd · e1944017
      Alan Stern 提交于
      Commits c44b2250 (UHCI: implement new
      semantics for URB_ISO_ASAP) and
      6a41b4d3 (OHCI: implement new
      semantics for URB_ISO_ASAP) increased the latency for isochronous URBs
      in uhci-hcd and ohci-hcd respectively to 2 milliseconds, in an
      attempt to avoid underruns.  It turns out that not only was this
      unnecessary -- 1-ms latency works okay -- it also causes problems with
      certain application loads such as real-time audio.
      
      This patch changes the latency for both drivers back to 1 ms.
      
      This should be applied to -stable kernels going back to 3.8.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Reported-and-tested-by: NJoe Rayhawk <jrayhawk@fairlystable.org>
      CC: Clemens Ladisch <clemens@ladisch.de>
      CC: <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e1944017
    • A
      USB: UHCI: fix for suspend of virtual HP controller · 997ff893
      Alan Stern 提交于
      HP's virtual UHCI host controller takes a long time to suspend
      (several hundred microseconds), even when no devices are attached.
      This provokes a warning message from uhci-hcd in the auto-stop case.
      
      To prevent this from happening, this patch adds a test to avoid
      performing an auto-stop when the wait_for_hp quirk flag is set.  The
      controller will still suspend through the normal runtime PM mechanism.
      And since that pathway includes a 1-ms delay, the slowness of the
      virtual hardware won't matter.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Reported-and-tested-by: NZhenHua <zhen-hual@hp.com>
      CC: <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      997ff893
    • A
      USB: fix Kconfig logic for USB_UHCI_HCD · ccd9509a
      Alan Stern 提交于
      The Kconfig settings for uhci-hcd are too permissive; they allow the
      driver to be built without any bus-glue modules configured
      (USB_UHCI_HCD enabled, PCI disabled, SPARC_LEON disabled, ARCH_VT8500
      enabled, and USB_UHCI_PLATFORM disabled).
      
      This patch fixes the problem by rearranging the dependencies.  Now the
      platform-dependent config options don't depend on USB_UHCI_HCD;
      instead it depends on them.  Furthermore, there is no user-selectable
      choice as to which glue modules will be built.  If USB_UHCI_HCD is
      enabled then all applicable bus glues will be built.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      CC: Arnd Bergmann <arnd@arndb.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ccd9509a
    • A
      USB: xHCI: override bogus bulk wMaxPacketSize values · e4f47e36
      Alan Stern 提交于
      This patch shortens the logic in xhci_endpoint_init() by moving common
      calculations involving max_packet and max_burst outside the switch
      statement, rather than repeating the same code in multiple
      case-specific statements.  It also replaces two usages of max_packet
      which were clearly intended to be max_burst all along.
      
      More importantly, it compensates for a common bug in high-speed bulk
      endpoint descriptors.  In many devices there is a bulk endpoint having
      a wMaxPacketSize value smaller than 512, which is forbidden by the USB
      spec.  Some xHCI controllers can't handle this and refuse to accept
      the endpoint.  This patch changes the max_packet value to 512, which
      allows the controller to use the endpoint properly.
      
      In practice the bogus maxpacket size doesn't matter, because none of
      the transfers sent via these endpoints are longer than the maxpacket
      value anyway.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Reported-and-tested-by: N"Aurélien Leblond" <blablack@gmail.com>
      CC: <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e4f47e36
    • G
      Merge tag 'fixes-for-v3.10-rc2' of... · 4089ffd7
      Greg Kroah-Hartman 提交于
      Merge tag 'fixes-for-v3.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus
      
      Felipe writes:
      
      usb: fixes for v3.10-rc2
      
      Here's the initial set of fixes for v3.10-rc series. It countains miscellaneous
      fixes in numerous drivers.
      
      Many gadget drivers and PHY drivers learned that it's not necessary to
      platform_set_drvdata() twice, that's not necessary to check the resource
      pointer returned by platform_get_resource() when using devm_ioremap_resource()
      and they learned that we shouldn't return 0 in case of errors.
      
      DWC3 got a build fix for cases where DWC3 is marked as 'y' while gadget API is
      marked as 'm'.
      
      There's also a NULL pointer exception fix on usb_get_phy(), mxs-phy now knows
      which PHY type it is and s3c-hsotg is now passing proper arguments to
      usb_gadget_unmap_request().
      
      Other than that there are some spelling fixes and kernel-doc warnings.
      Signed-of-by: NFelipe Balbi <balbi@ti.com>
      4089ffd7
  3. 15 5月, 2013 30 次提交