1. 29 3月, 2017 1 次提交
  2. 10 3月, 2017 1 次提交
  3. 25 1月, 2017 1 次提交
  4. 20 1月, 2017 1 次提交
  5. 19 1月, 2017 1 次提交
  6. 14 11月, 2016 1 次提交
  7. 27 6月, 2016 2 次提交
  8. 02 6月, 2016 1 次提交
    • T
      usb: xhci-plat: properly handle probe deferral for devm_clk_get() · de95c40d
      Thomas Petazzoni 提交于
      On some platforms, the clocks might be registered by a platform
      driver. When this is the case, the clock platform driver may very well
      be probed after xhci-plat, in which case the first probe() invocation
      of xhci-plat will receive -EPROBE_DEFER as the return value of
      devm_clk_get().
      
      The current code handles that as a normal error, and simply assumes
      that this means that the system doesn't have a clock for the XHCI
      controller, and continues probing without calling
      clk_prepare_enable(). Unfortunately, this doesn't work on systems
      where the XHCI controller does have a clock, but that clock is
      provided by another platform driver. In order to fix this situation,
      we handle the -EPROBE_DEFER error condition specially, and abort the
      XHCI controller probe(). It will be retried later automatically, the
      clock will be available, devm_clk_get() will succeed, and the probe()
      will continue with the clock prepared and enabled as expected.
      
      In practice, such issue is seen on the ARM64 Marvell 7K/8K platform,
      where the clocks are registered by a platform driver.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      de95c40d
  9. 27 4月, 2016 4 次提交
  10. 14 4月, 2016 1 次提交
  11. 04 3月, 2016 2 次提交
  12. 04 2月, 2016 1 次提交
  13. 02 12月, 2015 5 次提交
  14. 17 10月, 2015 2 次提交
  15. 31 5月, 2015 3 次提交
  16. 18 3月, 2015 1 次提交
  17. 25 2月, 2015 1 次提交
    • M
      usb: XHCI: platform: Move the Marvell quirks after the enabling the clocks · 1e7e4fb6
      Maxime Ripard 提交于
      The commit 97374792 ("usb: host: xhci-plat: add support for the Armada
      375/38x XHCI controllers") extended the xhci-plat driver to support the Armada
      375/38x SoCs, mostly by adding a quirk configuring the MBUS window.
      
      However, that quirk was run before the clock the controllers needs has been
      enabled. This usually worked because the clock was first enabled by the
      bootloader, and left as such until the driver is probe, where it tries to
      access the MBUS configuration registers before enabling the clock.
      
      Things get messy when EPROBE_DEFER is involved during the probe, since as part
      of its error path, the driver will rightfully disable the clock. When the
      driver will be reprobed, it will retry to access the MBUS registers, but this
      time with the clock disabled, which hangs forever.
      
      Fix this by running the quirks after the clock has been enabled by the driver.
      Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com>
      Cc: <stable@vger.kernel.org> # v3.16+
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1e7e4fb6
  18. 22 11月, 2014 1 次提交
  19. 08 11月, 2014 1 次提交
  20. 04 10月, 2014 2 次提交
  21. 10 7月, 2014 4 次提交
  22. 29 5月, 2014 1 次提交
  23. 28 5月, 2014 2 次提交