android_kernel_sony_sdm845/kernel/power
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Dexuan Cui 9199193d8d PM: hibernate: Freeze kernel threads in software_resume()
commit 2351f8d295ed63393190e39c2f7c1fee1a80578f upstream.

Currently the kernel threads are not frozen in software_resume(), so
between dpm_suspend_start(PMSG_QUIESCE) and resume_target_kernel(),
system_freezable_power_efficient_wq can still try to submit SCSI
commands and this can cause a panic since the low level SCSI driver
(e.g. hv_storvsc) has quiesced the SCSI adapter and can not accept
any SCSI commands: https://lkml.org/lkml/2020/4/10/47

At first I posted a fix (https://lkml.org/lkml/2020/4/21/1318) trying
to resolve the issue from hv_storvsc, but with the help of
Bart Van Assche, I realized it's better to fix software_resume(),
since this looks like a generic issue, not only pertaining to SCSI.

Cc: All applicable <stable@vger.kernel.org>
Signed-off-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-05-05 19:14:36 +02:00
..
autosleep.c PM / Sleep: avoid 'autosleep' in shutdown progress 2013-07-15 01:31:37 +02:00
console.c PM / sleep: Make pm_prepare_console() return void 2016-06-15 01:26:04 +02:00
hibernate.c PM: hibernate: Freeze kernel threads in software_resume() 2020-05-05 19:14:36 +02:00
Kconfig PM / sleep: wakeup: Fix build error caused by missing SRCU support 2018-09-09 20:01:23 +02:00
main.c PM / sleep: enable suspend-to-idle even without registered suspend_ops 2016-09-13 02:17:19 +02:00
Makefile PM / Hibernate: Don't let kasan instrument snapshot.c 2016-06-14 00:38:56 +02:00
power.h x86/power: Fix swsusp_arch_resume prototype 2018-05-30 07:50:24 +02:00
poweroff.c power/sysrq: fix inconstistent help message of sysrq key 2013-04-30 17:04:10 -07:00
process.c sched/cpuset/pm: Fix cpuset vs. suspend-resume bugs 2017-10-12 11:51:25 +02:00
qos.c PM / QoS: avoid calling cancel_delayed_work_sync() during early boot 2016-09-05 15:07:53 +02:00
snapshot.c PM / hibernate: memory_bm_find_bit(): Tighten node optimisation 2020-01-12 11:24:11 +01:00
suspend.c PM / suspend: Fix missing KERN_CONT for suspend message 2016-10-24 14:38:02 +02:00
suspend_test.c PM / sleep: fix device reference leak in test_suspend 2016-11-02 05:10:04 +01:00
swap.c Power management material for v4.8-rc1 2016-07-26 17:29:07 -07:00
user.c PM / hibernate: Fix oops at snapshot_write() 2018-07-17 11:37:54 +02:00
wakelock.c PM / autosleep: Use workqueue for user space wakeup sources garbage collector 2015-07-14 21:04:48 +02:00