Message ID | 20181122081807.13989-2-aaron.ma@canonical.com |
---|---|
State | New |
Headers | show |
Series | Fix boot hang on ThinkPad 11e 3rd | expand |
On 2018-11-22 16:18:07 , Aaron Ma wrote: > From: Zhang Rui <rui.zhang@intel.com> > > BugLink: https://bugs.launchpad.net/bugs/1804604 > > Commit 12864ff8545f (ACPI / LPSS: Avoid PM quirks on suspend and resume > from hibernation) bypasses lpss quirks for S3 and S4, by setting a flag > for S3/S4 in acpi_lpss_suspend(), and check that flag in > acpi_lpss_resume(). > > But this overlooks the boot case where acpi_lpss_resume() may get called > without a corresponding acpi_lpss_suspend() having been called. > > Thus force setting the flag during boot. > > Fixes: 12864ff8545f (ACPI / LPSS: Avoid PM quirks on suspend and resume from hibernation) > Link: https://bugzilla.kernel.org/show_bug.cgi?id=200989 > Reported-and-tested-by: William Lieurance <william.lieurance@namikoda.com> > Signed-off-by: Zhang Rui <rui.zhang@intel.com> > Cc: 4.15+ <stable@vger.kernel.org> # 4.15+: 12864ff8545f (ACPI / LPSS: Avoid ...) > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > (cherry picked from commit f11fc4bc669b8622510c1039499f5a9d24248fec) > Signed-off-by: Aaron Ma <aaron.ma@canonical.com> > --- > drivers/acpi/acpi_lpss.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c > index 8e37c2317e27..08b2ceb68066 100644 > --- a/drivers/acpi/acpi_lpss.c > +++ b/drivers/acpi/acpi_lpss.c > @@ -736,7 +736,7 @@ static void acpi_lpss_dismiss(struct device *dev) > #define LPSS_GPIODEF0_DMA_LLP BIT(13) > > static DEFINE_MUTEX(lpss_iosf_mutex); > -static bool lpss_iosf_d3_entered; > +static bool lpss_iosf_d3_entered = true; > > static void lpss_iosf_enter_d3_state(void) > { Acked-by: Khalid Elmously <khalid.elmously@canonical.com>
On Thu, Nov 22, 2018 at 04:18:07PM +0800, Aaron Ma wrote: > From: Zhang Rui <rui.zhang@intel.com> > > BugLink: https://bugs.launchpad.net/bugs/1804604 > > Commit 12864ff8545f (ACPI / LPSS: Avoid PM quirks on suspend and resume > from hibernation) bypasses lpss quirks for S3 and S4, by setting a flag > for S3/S4 in acpi_lpss_suspend(), and check that flag in > acpi_lpss_resume(). > > But this overlooks the boot case where acpi_lpss_resume() may get called > without a corresponding acpi_lpss_suspend() having been called. > > Thus force setting the flag during boot. > > Fixes: 12864ff8545f (ACPI / LPSS: Avoid PM quirks on suspend and resume from hibernation) > Link: https://bugzilla.kernel.org/show_bug.cgi?id=200989 > Reported-and-tested-by: William Lieurance <william.lieurance@namikoda.com> > Signed-off-by: Zhang Rui <rui.zhang@intel.com> > Cc: 4.15+ <stable@vger.kernel.org> # 4.15+: 12864ff8545f (ACPI / LPSS: Avoid ...) > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > (cherry picked from commit f11fc4bc669b8622510c1039499f5a9d24248fec) > Signed-off-by: Aaron Ma <aaron.ma@canonical.com> > --- > drivers/acpi/acpi_lpss.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c > index 8e37c2317e27..08b2ceb68066 100644 > --- a/drivers/acpi/acpi_lpss.c > +++ b/drivers/acpi/acpi_lpss.c > @@ -736,7 +736,7 @@ static void acpi_lpss_dismiss(struct device *dev) > #define LPSS_GPIODEF0_DMA_LLP BIT(13) > > static DEFINE_MUTEX(lpss_iosf_mutex); > -static bool lpss_iosf_d3_entered; > +static bool lpss_iosf_d3_entered = true; > > static void lpss_iosf_enter_d3_state(void) > { > -- > 2.17.1 Acked-by: Anthony Wong <anthony.wong@canonical.com>
On 22.11.18 09:18, Aaron Ma wrote: > From: Zhang Rui <rui.zhang@intel.com> > > BugLink: https://bugs.launchpad.net/bugs/1804604 > > Commit 12864ff8545f (ACPI / LPSS: Avoid PM quirks on suspend and resume > from hibernation) bypasses lpss quirks for S3 and S4, by setting a flag > for S3/S4 in acpi_lpss_suspend(), and check that flag in > acpi_lpss_resume(). > > But this overlooks the boot case where acpi_lpss_resume() may get called > without a corresponding acpi_lpss_suspend() having been called. > > Thus force setting the flag during boot. > > Fixes: 12864ff8545f (ACPI / LPSS: Avoid PM quirks on suspend and resume from hibernation) > Link: https://bugzilla.kernel.org/show_bug.cgi?id=200989 > Reported-and-tested-by: William Lieurance <william.lieurance@namikoda.com> > Signed-off-by: Zhang Rui <rui.zhang@intel.com> > Cc: 4.15+ <stable@vger.kernel.org> # 4.15+: 12864ff8545f (ACPI / LPSS: Avoid ...) > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > (cherry picked from commit f11fc4bc669b8622510c1039499f5a9d24248fec) > Signed-off-by: Aaron Ma <aaron.ma@canonical.com> > --- > drivers/acpi/acpi_lpss.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c > index 8e37c2317e27..08b2ceb68066 100644 > --- a/drivers/acpi/acpi_lpss.c > +++ b/drivers/acpi/acpi_lpss.c > @@ -736,7 +736,7 @@ static void acpi_lpss_dismiss(struct device *dev) > #define LPSS_GPIODEF0_DMA_LLP BIT(13) > > static DEFINE_MUTEX(lpss_iosf_mutex); > -static bool lpss_iosf_d3_entered; > +static bool lpss_iosf_d3_entered = true; > > static void lpss_iosf_enter_d3_state(void) > { > Applied to bionic/master-next. Thanks. -Stefan
diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c index 8e37c2317e27..08b2ceb68066 100644 --- a/drivers/acpi/acpi_lpss.c +++ b/drivers/acpi/acpi_lpss.c @@ -736,7 +736,7 @@ static void acpi_lpss_dismiss(struct device *dev) #define LPSS_GPIODEF0_DMA_LLP BIT(13) static DEFINE_MUTEX(lpss_iosf_mutex); -static bool lpss_iosf_d3_entered; +static bool lpss_iosf_d3_entered = true; static void lpss_iosf_enter_d3_state(void) {