From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Westerberg Subject: Re: [PATCH] PCI / ACPI / PM: Resume all bridges on suspend-to-RAM Date: Thu, 16 Aug 2018 22:15:15 +0300 Message-ID: <20180816191515.GM2343@lahna.fi.intel.com> References: <6401388.2t0qD3iTOr@aspire.rjw.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <6401388.2t0qD3iTOr@aspire.rjw.lan> Sender: linux-kernel-owner@vger.kernel.org To: "Rafael J. Wysocki" Cc: Linux PCI , teika kazura , Bjorn Helgaas , LKML , Linux ACPI , Linux PM List-Id: linux-pm@vger.kernel.org On Thu, Aug 16, 2018 at 12:56:46PM +0200, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki > > Commit 26112ddc254c (PCI / ACPI / PM: Resume bridges w/o drivers on > suspend-to-RAM) attempted to fix a functional regression resulting > from commit c62ec4610c40 (PM / core: Fix direct_complete handling > for devices with no callbacks) by resuming PCI bridges without > drivers (that is, "parallel PCI" ones) during system-wide suspend if > the target system state is not ACPI S0 (working state). > > That turns out insufficient, however, as it is reported that, at > least in one case, the platform firmware gets confused if a PCIe > root port is suspended before entering the ACPI S3 sleep state. > > For this reason, drop the driver check from acpi_pci_need_resume() > and resume all bridges (including PCIe ports with drivers) during > system-wide suspend if the target system state is not ACPI S0. > > [If the target system state is ACPI S0, it means suspend-to-idle > and the platform firmware is not going to be invoked to actually > suspend the system, so there is no need to resume the bridges in > that case.] > > Fixes: c62ec4610c40 (PM / core: Fix direct_complete handling for devices with no callbacks) > Reported-by: teika kazura > Tested-by: teika kazura > Link: https://bugzilla.kernel.org/show_bug.cgi?id=200675 > Cc: 4.15+ # 4.15+: 26112ddc254c (PCI / ACPI / PM: Resume bridges ...) > Signed-off-by: Rafael J. Wysocki Reviewed-by: Mika Westerberg