1. 28 5月, 2014 18 次提交
  2. 20 5月, 2014 8 次提交
  3. 14 5月, 2014 1 次提交
    • A
      usb: phy: msm: reset controller is mandatory now · c5ab571f
      Arnd Bergmann 提交于
      Commit a2734543 "usb: phy: msm: Use reset framework for LINK
      and PHY resets" introduced a mandatory call to reset_control_get
      into the msm usb phy driver, which means we have to add a Kconfig
      dependency on the API to avoid this build error:
      
      phy/phy-msm-usb.c: In function 'msm_otg_read_dt':
      phy/phy-msm-usb.c:1461:2: error: implicit declaration of function 'devm_reset_control_get' [-Werror=implicit-function-declaration]
        motg->link_rst = devm_reset_control_get(&pdev->dev, "link");
        ^
      
      Since the usb-ehci-msm driver currently selects the OTG driver,
      we could still get a broken dependency here. To solve that,
      this patch also removes the 'select', which turns out to be
      unnecessary.
      Reviewed-by: NIvan T. Ivanov <iivanov@mm-sol.com>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      c5ab571f
  4. 04 5月, 2014 2 次提交
    • N
      fsl-usb: do not test for PHY_CLK_VALID bit on controller version 1.6 · d183c819
      Nikita Yushchenko 提交于
      Per reference manuals of Freescale P1020 and P2020 SoCs, USB controller
      present in these SoCs has bit 17 of USBx_CONTROL register marked as
      Reserved - there is no PHY_CLK_VALID bit there.
      
      Testing for this bit in ehci_fsl_setup_phy() behaves differently on two
      P1020RDB boards available here - on one board test passes and fsl-usb
      init succeeds, but on other board test fails, causing fsl-usb init to
      fail.
      
      This patch changes ehci_fsl_setup_phy() not to test PHY_CLK_VALID on
      controller version 1.6 that (per manual) does not have this bit.
      Signed-off-by: NNikita Yushchenko <nyushchenko@dev.rtsoft.ru>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d183c819
    • A
      USB: OHCI: fix problem with global suspend on ATI controllers · c1db30a2
      Alan Stern 提交于
      Some OHCI controllers from ATI/AMD seem to have difficulty with
      "global" USB suspend, that is, suspending an entire USB bus without
      setting the suspend feature for each port connected to a device.  When
      we try to resume the child devices, the controller gives timeout
      errors on the unsuspended ports, requiring resets, and can even cause
      ohci-hcd to hang; see
      
      	http://marc.info/?l=linux-usb&m=139514332820398&w=2
      
      and the following messages.
      
      This patch fixes the problem by adding a new quirk flag to ohci-hcd.
      The flag causes the ohci_rh_suspend() routine to suspend each
      unsuspended, enabled port before suspending the root hub.  This
      effectively converts the "global" suspend to an ordinary root-hub
      suspend.  There is no need to unsuspend these ports when the root hub
      is resumed, because the child devices will be resumed anyway in the
      course of a normal system resume ("global" suspend is never used for
      runtime PM).
      
      This patch should be applied to all stable kernels which include
      commit 0aa2832d (USB: use "global suspend" for system sleep on
      USB-2 buses) or a backported version thereof.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Reported-by: NPeter Münster <pmlists@free.fr>
      Tested-by: NPeter Münster <pmlists@free.fr>
      CC: <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c1db30a2
  5. 26 4月, 2014 4 次提交
    • D
      usb/xhci: fix compilation warning when !CONFIG_PCI && !CONFIG_PM · 01bb59eb
      David Cohen 提交于
      When CONFIG_PCI and CONFIG_PM are not selected, xhci.c gets this
      warning:
      drivers/usb/host/xhci.c:409:13: warning: ‘xhci_msix_sync_irqs’ defined
      but not used [-Wunused-function]
      
      Instead of creating nested #ifdefs, this patch fixes it by defining the
      xHCI PCI stubs as inline.
      
      This warning has been in since 3.2 kernel and was
      caused by commit 421aa841
      "usb/xhci: hide MSI code behind PCI bars", but wasn't noticed
      until 3.13 when a configuration with these options was tried
      Signed-off-by: NDavid Cohen <david.a.cohen@linux.intel.com>
      Cc: stable@vger.kernel.org # 3.2
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      01bb59eb
    • I
      xhci: extend quirk for Renesas cards · 6db249eb
      Igor Gnatenko 提交于
      After suspend another Renesas PCI-X USB 3.0 card doesn't work.
      [root@fedora-20 ~]# lspci -vmnnd 1912:
      Device:	03:00.0
      Class:	USB controller [0c03]
      Vendor:	Renesas Technology Corp. [1912]
      Device:	uPD720202 USB 3.0 Host Controller [0015]
      SVendor:	Renesas Technology Corp. [1912]
      SDevice:	uPD720202 USB 3.0 Host Controller [0015]
      Rev:	02
      ProgIf:	30
      
      This patch should be applied to stable kernel 3.14 that contain
      the commit 1aa9578c
      "xhci: Fix resume issues on Renesas chips in Samsung laptops"
      Reported-and-tested-by: NAnatoly Kharchenko <rfr-bugs@yandex.ru>
      Reference: http://redmine.russianfedora.pro/issues/1315Signed-off-by: NIgor Gnatenko <i.gnatenko.brain@gmail.com>
      Cc: stable@vger.kernel.org # 3.14
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6db249eb
    • D
      xhci: Switch Intel Lynx Point ports to EHCI on shutdown. · c09ec25d
      Denis Turischev 提交于
      The same issue like with Panther Point chipsets. If the USB ports are
      switched to xHCI on shutdown, the xHCI host will send a spurious interrupt,
      which will wake the system. Some BIOS have work around for this, but not all.
      One example is Compulab's mini-desktop, the Intense-PC2.
      
      The bug can be avoided if the USB ports are switched back to EHCI on
      shutdown.
      
      This patch should be backported to stable kernels as old as 3.12,
      that contain the commit 638298dc
      "xhci: Fix spurious wakeups after S5 on Haswell"
      Signed-off-by: NDenis Turischev <denis@compulab.co.il>
      Cc: stable@vger.kernel.org
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c09ec25d
    • J
      usb: xhci: Prefer endpoint context dequeue pointer over stopped_trb · 1f81b6d2
      Julius Werner 提交于
      We have observed a rare cycle state desync bug after Set TR Dequeue
      Pointer commands on Intel LynxPoint xHCs (resulting in an endpoint that
      doesn't fetch new TRBs and thus an unresponsive USB device). It always
      triggers when a previous Set TR Dequeue Pointer command has set the
      pointer to the final Link TRB of a segment, and then another URB gets
      enqueued and cancelled again before it can be completed. Further
      investigation showed that the xHC had returned the Link TRB in the TRB
      Pointer field of the Transfer Event (CC == Stopped -- Length Invalid),
      but when xhci_find_new_dequeue_state() later accesses the Endpoint
      Context's TR Dequeue Pointer field it is set to the first TRB of the
      next segment.
      
      The driver expects those two values to be the same in this situation,
      and uses the cycle state of the latter together with the address of the
      former. This should be fine according to the XHCI specification, since
      the endpoint ring should be stopped when returning the Transfer Event
      and thus should not advance over the Link TRB before it gets restarted.
      However, real-world XHCI implementations apparently don't really care
      that much about these details, so the driver should follow a more
      defensive approach to try to work around HC spec violations.
      
      This patch removes the stopped_trb variable that had been used to store
      the TRB Pointer from the last Transfer Event of a stopped TRB. Instead,
      xhci_find_new_dequeue_state() now relies only on the Endpoint Context,
      requiring a small amount of additional processing to find the virtual
      address corresponding to the TR Dequeue Pointer. Some other parts of the
      function were slightly rearranged to better fit into this model.
      
      This patch should be backported to kernels as old as 2.6.31 that contain
      the commit ae636747 "USB: xhci: URB
      cancellation support."
      Signed-off-by: NJulius Werner <jwerner@chromium.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1f81b6d2
  6. 25 4月, 2014 4 次提交
  7. 17 4月, 2014 3 次提交