1. 30 8月, 2017 5 次提交
  2. 23 8月, 2017 1 次提交
  3. 04 8月, 2017 3 次提交
  4. 03 8月, 2017 2 次提交
  5. 13 7月, 2017 3 次提交
    • R
      PCI / PM: Fix native PME handling during system suspend/resume · c7b5a4e6
      Rafael J. Wysocki 提交于
      Commit 76cde7e4 (PCI / PM: Make PCIe PME interrupts wake up from
      suspend-to-idle) went too far with preventing pcie_pme_work_fn() from
      clearing the root port's PME Status and re-enabling the PME interrupt
      which should be done for PMEs to work correctly after system resume.
      
      The failing scenario is as follows:
      
       1. pcie_pme_suspend() finds that the PME IRQ should be designated
          for system wakeup, so it calls enable_irq_wake() and then sets
          data->suspend_level to PME_SUSPEND_WAKEUP.
      
       2. PME interrupt happens at this point.
      
       3. pcie_pme_irq() runs, disables the PME interrupt and queues up
          the execution of pcie_pme_work_fn().
      
       4. pcie_pme_work_fn() runs before pcie_pme_resume() and breaks out
          of the loop right away, because data->suspend_level is not
          PME_SUSPEND_NONE, and it doesn't re-enable the PME interrupt
          for the same reason.
      
       5. pcie_pme_resume() runs and simply calls disable_irq_wake()
          without re-enabling the PME interrupt (because data->suspend_level
          is not PME_SUSPEND_NONE), so the PME interrupt remains disabled
          and the PME Status remains set.
      
      To fix this notice that there is no reason why pcie_pme_work_fn()
      should behave in a special way during system resume if the PME
      interrupt is not disabled by pcie_pme_suspend() and partially revert
      commit 76cde7e4 and restore the previous (and correct) behavior
      of pcie_pme_work_fn().
      
      Fixes: 76cde7e4 (PCI / PM: Make PCIe PME interrupts wake up from suspend-to-idle)
      Reported-and-tested-by: NNaresh Solanki <naresh.solanki@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: NBjorn Helgaas <bhelgaas@google.com>
      c7b5a4e6
    • R
      PCI / PM: Restore PME Enable after config space restoration · 0ce3fcaf
      Rafael J. Wysocki 提交于
      Commit dc15e71e (PCI / PM: Restore PME Enable if skipping wakeup
      setup) introduced a mechanism by which the PME Enable bit can be
      restored by pci_enable_wake() if dev->wakeup_prepared is set in
      case it has been overwritten by PCI config space restoration.
      
      However, that commit overlooked the fact that on some systems (Dell
      XPS13 9360 in particular) the AML handling wakeup events checks PME
      Status and PME Enable and it won't trigger a Notify() for devices
      where those bits are not set while it is running.
      
      That happens during resume from suspend-to-idle when pci_restore_state()
      invoked by pci_pm_default_resume_early() clears PME Enable before the
      wakeup events are processed by AML, effectively causing those wakeup
      events to be ignored.
      
      Fix this issue by restoring the PME Enable configuration right after
      pci_restore_state() has been called instead of doing that in
      pci_enable_wake().
      
      Fixes: dc15e71e (PCI / PM: Restore PME Enable if skipping wakeup setup)
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: NBjorn Helgaas <bhelgaas@google.com>
      0ce3fcaf
    • S
      PCI: rockchip: Check for pci_scan_root_bus_bridge() failure correctly · 34d5ac2a
      Shawn Lin 提交于
      pci_scan_root_bus_bridge() returns zero for success, or a negative errno.
      A typo in ae13cb9b ("PCI: rockchip: Convert PCI scan API to
      pci_scan_root_bus_bridge()") treated zero as a failure.
      
      Fix the typo.
      
      Fixes: ae13cb9b ("PCI: rockchip: Convert PCI scan API to pci_scan_root_bus_bridge()")
      Signed-off-by: NShawn Lin <shawn.lin@rock-chips.com>
      [bhelgaas: changelog]
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      34d5ac2a
  6. 08 7月, 2017 1 次提交
  7. 03 7月, 2017 25 次提交