Revision 2aa70f864955bf02362e3fb3008e4208d7a17a98 authored by Geert Uytterhoeven on 13 September 2017, 17:42:05 UTC, committed by David S. Miller on 15 September 2017, 21:24:49 UTC
If the network interface is kept running during suspend, the net core
may call net_device_ops.ndo_start_xmit() while the Ethernet device is
still suspended, which may lead to a system crash.

E.g. on sh73a0/kzm9g and r8a73a4/ape6evm, the external Ethernet chip is
driven by a PM controlled clock.  If the Ethernet registers are accessed
while the clock is not running, the system will crash with an imprecise
external abort.

As this is a race condition with a small time window, it is not so easy
to trigger at will.  Using pm_test may increase your chances:

    # echo 0 > /sys/module/printk/parameters/console_suspend
    # echo platform > /sys/power/pm_test
    # echo mem > /sys/power/state

To fix this, make sure the network interface is quietened during
suspend.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 7095c97
History
File Mode Size
partitions
Kconfig -rw-r--r-- 6.1 KB
Kconfig.iosched -rw-r--r-- 2.7 KB
Makefile -rw-r--r-- 1.4 KB
badblocks.c -rw-r--r-- 14.5 KB
bfq-cgroup.c -rw-r--r-- 33.0 KB
bfq-iosched.c -rw-r--r-- 163.7 KB
bfq-iosched.h -rw-r--r-- 31.4 KB
bfq-wf2q.c -rw-r--r-- 52.1 KB
bio-integrity.c -rw-r--r-- 13.9 KB
bio.c -rw-r--r-- 51.1 KB
blk-cgroup.c -rw-r--r-- 37.6 KB
blk-core.c -rw-r--r-- 95.4 KB
blk-exec.c -rw-r--r-- 2.9 KB
blk-flush.c -rw-r--r-- 16.6 KB
blk-integrity.c -rw-r--r-- 12.1 KB
blk-ioc.c -rw-r--r-- 10.9 KB
blk-lib.c -rw-r--r-- 9.8 KB
blk-map.c -rw-r--r-- 5.9 KB
blk-merge.c -rw-r--r-- 19.7 KB
blk-mq-cpumap.c -rw-r--r-- 1.7 KB
blk-mq-debugfs.c -rw-r--r-- 23.4 KB
blk-mq-debugfs.h -rw-r--r-- 2.1 KB
blk-mq-pci.c -rw-r--r-- 1.6 KB
blk-mq-rdma.c -rw-r--r-- 1.7 KB
blk-mq-sched.c -rw-r--r-- 14.5 KB
blk-mq-sched.h -rw-r--r-- 2.8 KB
blk-mq-sysfs.c -rw-r--r-- 8.2 KB
blk-mq-tag.c -rw-r--r-- 11.4 KB
blk-mq-tag.h -rw-r--r-- 2.3 KB
blk-mq-virtio.c -rw-r--r-- 1.7 KB
blk-mq.c -rw-r--r-- 70.0 KB
blk-mq.h -rw-r--r-- 4.0 KB
blk-settings.c -rw-r--r-- 28.7 KB
blk-softirq.c -rw-r--r-- 4.3 KB
blk-stat.c -rw-r--r-- 5.5 KB
blk-stat.h -rw-r--r-- 5.5 KB
blk-sysfs.c -rw-r--r-- 23.4 KB
blk-tag.c -rw-r--r-- 10.0 KB
blk-throttle.c -rw-r--r-- 67.6 KB
blk-timeout.c -rw-r--r-- 5.9 KB
blk-wbt.c -rw-r--r-- 17.6 KB
blk-wbt.h -rw-r--r-- 4.0 KB
blk-zoned.c -rw-r--r-- 7.6 KB
blk.h -rw-r--r-- 10.9 KB
bounce.c -rw-r--r-- 6.4 KB
bsg-lib.c -rw-r--r-- 7.1 KB
bsg.c -rw-r--r-- 22.9 KB
cfq-iosched.c -rw-r--r-- 127.1 KB
cmdline-parser.c -rw-r--r-- 4.9 KB
compat_ioctl.c -rw-r--r-- 10.8 KB
deadline-iosched.c -rw-r--r-- 11.2 KB
elevator.c -rw-r--r-- 26.8 KB
genhd.c -rw-r--r-- 47.2 KB
ioctl.c -rw-r--r-- 15.0 KB
ioprio.c -rw-r--r-- 5.0 KB
kyber-iosched.c -rw-r--r-- 21.0 KB
mq-deadline.c -rw-r--r-- 16.8 KB
noop-iosched.c -rw-r--r-- 2.6 KB
opal_proto.h -rw-r--r-- 9.3 KB
partition-generic.c -rw-r--r-- 16.7 KB
scsi_ioctl.c -rw-r--r-- 20.0 KB
sed-opal.c -rw-r--r-- 57.7 KB
t10-pi.c -rw-r--r-- 4.9 KB

back to top