Rafael J. Wysocki
eed4d47efe
ACPI / sleep: Ignore spurious SCI wakeups from suspend-to-idle
...
The ACPI SCI (System Control Interrupt) is set up as a wakeup IRQ
during suspend-to-idle transitions and, consequently, any events
signaled through it wake up the system from that state. However,
on some systems some of the events signaled via the ACPI SCI while
suspended to idle should not cause the system to wake up. In fact,
quite often they should just be discarded.
Arguably, systems should not resume entirely on such events, but in
order to decide which events really should cause the system to resume
and which are spurious, it is necessary to resume up to the point
when ACPI SCIs are actually handled and processed, which is after
executing dpm_resume_noirq() in the system resume path.
For this reasons, add a loop around freeze_enter() in which the
platforms can process events signaled via multiplexed IRQ lines
like the ACPI SCI and add suspend-to-idle hooks that can be
used for this purpose to struct platform_freeze_ops.
In the ACPI case, the ->wake hook is used for checking if the SCI
has triggered while suspended and deferring the interrupt-induced
system wakeup until the events signaled through it are actually
processed sufficiently to decide whether or not the system should
resume. In turn, the ->sync hook allows all of the relevant event
queues to be flushed so as to prevent events from being missed due
to race conditions.
In addition to that, some ACPI code processing wakeup events needs
to be modified to use the "hard" version of wakeup triggers, so that
it will cause a system resume to happen on device-induced wakeup
events even if the "soft" mechanism to prevent the system from
suspending is not enabled (that also helps to catch device-induced
wakeup events occurring during suspend transitions in progress).
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-05-05 22:54:28 +02:00
..
accessibility
acpi
ACPI / sleep: Ignore spurious SCI wakeups from suspend-to-idle
2017-05-05 22:54:28 +02:00
amba
android
sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h>
2017-03-02 08:42:29 +01:00
ata
sata_via: Enable hotplug only on VT6421
2017-04-11 09:12:18 +09:00
atm
sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
2017-03-02 08:42:32 +01:00
auxdisplay
auxdisplay: img-ascii-lcd: add missing sentinel entry in img_ascii_lcd_matches
2017-03-16 16:59:55 +09:00
base
ACPI / sleep: Ignore spurious SCI wakeups from suspend-to-idle
2017-05-05 22:54:28 +02:00
bcma
block
mtip32xx: pass BLK_MQ_F_NO_SCHED
2017-04-19 14:15:45 -06:00
bluetooth
Bluetooth: btqcomsmd: fix compile-test dependency
2017-03-22 19:22:04 -07:00
bus
ARM: SoC driver updates
2017-02-23 15:57:04 -08:00
cdrom
Merge branch 'for-4.11/next' into for-4.11/linus-merge
2017-02-17 14:08:19 -07:00
char
Fixes /dev/mem to read back zeros for System RAM areas in the 1MB exception
2017-04-14 08:57:20 -07:00
clk
clk: sunxi-ng: always select CCU_GATE
2017-04-28 10:47:21 -07:00
clocksource
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2017-04-02 09:22:03 -07:00
connector
cpufreq
cpufreq: Bring CPUs up even if cpufreq_online() failed
2017-04-13 03:38:44 +02:00
cpuidle
cpuidle: powernv: Pass correct drv->cpumask for registration
2017-03-29 22:55:36 +02:00
crypto
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2017-04-10 09:37:43 -07:00
dax
device-dax: switch to srcu, fix rcu_read_lock() vs pte allocation
2017-04-12 13:45:18 -07:00
dca
devfreq
scripts/spelling.txt: add "followings" pattern and fix typo instances
2017-02-27 18:43:47 -08:00
dio
dma
dmaengine: Fix array index out of bounds warning in __get_unmap_pool()
2017-03-14 10:11:27 +05:30
dma-buf
sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
2017-03-02 08:42:32 +01:00
edac
EDAC, pnd2_edac: Fix reported DIMM number
2017-03-26 09:36:28 +02:00
eisa
extcon
extcon: int3496: Set the id pin to direction-input if necessary
2017-03-22 18:29:48 +09:00
firewire
Merge branch 'idr-4.11' of git://git.infradead.org/users/willy/linux-dax
2017-02-28 20:29:41 -08:00
firmware
efi/libstub: Skip GOP with PIXEL_BLT_ONLY format
2017-04-05 09:20:18 +02:00
fmc
fpga
fpga zynq: Use the scatterlist interface
2017-02-10 15:20:44 +01:00
fsi
drivers/fsi: add driver to device matches
2017-02-10 15:19:48 +01:00
gpio
ACPI / gpio: do not fall back to parsing _CRS when we get a deferral
2017-03-30 11:08:46 +02:00
gpu
Merge branch 'linux-4.11' of git://github.com/skeggsb/linux into drm-fixes
2017-04-13 09:56:05 +10:00
hid
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
2017-04-20 12:26:10 -07:00
hsi
sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
2017-03-02 08:42:32 +01:00
hv
Drivers: hv: vmbus: Don't leak memory when a channel is rescinded
2017-03-16 16:42:33 +09:00
hwmon
hwmon: (asus_atk0110) fix uninitialized data access
2017-03-23 12:01:57 -07:00
hwspinlock
hwtracing
intel_th: pci: Add Gemini Lake support
2017-03-15 14:55:18 +02:00
i2c
i2c: mux: pca954x: Add missing pca9546 definition to chip_desc
2017-03-24 12:22:18 +01:00
ide
sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h>
2017-03-02 08:42:36 +01:00
idle
Power management turbostat utility updates for v4.11-rc1
2017-03-02 17:41:27 -08:00
iio
iio: hid-sensor-attributes: Fix sensor property setting failure.
2017-04-02 11:44:03 +01:00
infiniband
Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
2017-04-11 23:51:58 -07:00
input
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2017-04-28 11:08:42 -07:00
iommu
Merge branch 'for-joerg/arm-smmu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into iommu/fixes
2017-03-22 23:59:56 +01:00
ipack
irqchip
irqchip/irq-imx-gpcv2: Fix spinlock initialization
2017-04-14 10:55:05 +02:00
isdn
isdn: kcapi: avoid uninitialized data
2017-03-28 17:59:33 -07:00
leds
sched/headers: Prepare for new header dependencies before moving code to <linux/sched/loadavg.h>
2017-03-02 08:42:27 +01:00
lguest
sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
2017-03-02 08:42:32 +01:00
lightnvm
lightnvm: set default lun range when no luns are specified
2017-02-15 08:27:21 -07:00
macintosh
powerpc/pmac: Fix crash in dma-mapping.h with NULL dma_ops
2017-03-10 14:17:23 +11:00
mailbox
sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
2017-03-02 08:42:32 +01:00
mcb
md
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
2017-04-08 11:56:58 -07:00
media
media fixes for v4.11-rc4
2017-03-24 13:34:16 -07:00
memory
Linux 4.11-rc1
2017-03-06 08:37:53 -08:00
memstick
Merge branch 'for-4.11/next' into for-4.11/linus-merge
2017-02-17 14:08:19 -07:00
message
SCSI misc on 20170220
2017-02-21 11:51:42 -08:00
mfd
staging/iio driver patches for 4.11-rc1
2017-02-22 12:14:01 -08:00
misc
Char/Misc driver fixes for 4.11-rc4
2017-03-26 11:15:54 -07:00
mmc
mmc: sdhci-esdhc-imx: increase the pad I/O drive strength for DDR50 card
2017-04-20 14:41:05 +02:00
mtd
ubi/upd: Always flush after prepared for an update
2017-03-30 09:27:11 +02:00
net
net: hso: register netdev later to avoid a race condition
2017-04-28 16:11:48 -04:00
nfc
scripts/spelling.txt: add "omited" pattern and fix typo instances
2017-02-27 18:43:47 -08:00
ntb
ntb: ntb_hw_intel: link_poll isn't clearing the pending status properly
2017-02-16 23:11:26 -05:00
nubus
nvdimm
libnvdimm: band aid btt vs clear poison locking
2017-04-10 17:21:45 -07:00
nvme
nvme: Quirk APST off on "THNSF5256GPUK TOSHIBA"
2017-04-20 14:42:10 -06:00
nvmem
of
DeviceTree updates for 4.11:
2017-02-22 19:23:14 -08:00
oprofile
sched/headers: Prepare to move the get_task_struct()/put_task_struct() and related APIs from <linux/sched.h> to <linux/sched/task.h>
2017-03-02 08:42:40 +01:00
parisc
Merge branch 'parisc-4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
2017-03-03 16:20:06 -08:00
parport
parport: fix attempt to write duplicate procfiles
2017-03-16 17:32:21 +09:00
pci
PCI: hisi: Fix DT binding (hisi-pcie-almost-ecam)
2017-04-12 10:46:47 -05:00
pcmcia
perf
sched/headers: Prepare for new header dependencies before moving code to <linux/sched/clock.h>
2017-03-02 08:42:27 +01:00
phy
phy: qcom-usb-hs: Add depends on EXTCON
2017-03-09 15:29:57 +05:30
pinctrl
pinctrl: cherryview: Add a quirk to make Acer Chromebook keyboard work again
2017-04-11 10:09:39 +02:00
platform
platform-drivers-x86 for v4.11-2
2017-03-13 13:23:43 -07:00
pnp
power
scripts/spelling.txt: add "intialization" pattern and fix typo instances
2017-02-27 18:43:47 -08:00
powercap
pps
ps3
sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h>
2017-03-02 08:42:29 +01:00
ptp
PTP: fix ptr_ret.cocci warnings
2017-03-20 16:25:06 +01:00
pwm
pwm: rockchip: State of PWM clock should synchronize with PWM enabled state
2017-04-06 15:08:52 +02:00
rapidio
drivers/rapidio/devices/tsi721.c: make module parameter variable name unique
2017-03-31 17:13:30 -07:00
ras
regulator
regulator: Updates for v4.11
2017-02-20 17:23:57 -08:00
remoteproc
remoteproc: qcom: fix QCOM_SMD dependencies
2017-03-20 14:45:44 -07:00
reset
reset: add exported __reset_control_get, return NULL if optional
2017-04-04 17:36:10 +02:00
rpmsg
virtio, vhost: optimizations, fixes
2017-03-02 13:53:13 -08:00
rtc
sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
2017-03-02 08:42:32 +01:00
s390
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-04-05 20:17:38 -07:00
sbus
scsi
SCSI fixes on 20170424
2017-04-24 13:31:08 -07:00
sfi
sh
sn
soc
sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
2017-03-02 08:42:32 +01:00
spi
sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h>
2017-03-02 08:42:27 +01:00
spmi
ssb
staging
staging: android: ashmem: lseek failed due to no FMODE_LSEEK.
2017-04-08 12:13:11 +02:00
target
tcmu: Skip Data-Out blocks before gathering Data-In buffer for BIDI case
2017-04-02 16:18:51 -07:00
tc
thermal
thermal: cpu_cooling: Check OPP for errors
2017-03-13 10:06:55 +08:00
thunderbolt
tty
Revert "tty: don't panic on OOM in tty_set_ldisc()"
2017-04-14 10:59:56 +02:00
uio
sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
2017-03-02 08:42:32 +01:00
usb
Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
2017-04-11 23:51:58 -07:00
uwb
uwb: i1480-dfu: fix NULL-deref at probe
2017-03-14 17:07:31 +08:00
vfio
VFIO fixes for v4.11-rc4
2017-03-24 14:39:36 -07:00
vhost
vhost-vsock: add pkt cancel capability
2017-03-21 14:41:46 -07:00
video
backlight: pwm_bl: Fix GPIO out for unimplemented .get_direction()
2017-04-19 19:59:44 +01:00
virt
virtio
virtio-pci: Remove affinity hint before freeing the interrupt
2017-04-11 00:30:20 +03:00
vlynq
vme
w1
sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h>
2017-03-02 08:42:29 +01:00
watchdog
watchdog: retu: restore MFD dependency
2017-03-01 06:15:10 -08:00
xen
xenbus: remove transaction holder from list before freeing
2017-04-04 10:11:06 -04:00
zorro
Kconfig
drivers/fsi: Add empty fsi bus definitions
2017-02-10 15:19:48 +01:00
Makefile
pci-v4.11-changes
2017-02-23 11:53:22 -08:00