Go to file
Qingliang Li 0e6b6c73f4 PM: sleep: wakeirq: fix wake irq warning in system suspend
[ Upstream commit e7a7681c85 ]

When driver uses pm_runtime_force_suspend() as the system suspend callback
function and registers the wake irq with reverse enable ordering, the wake
irq will be re-enabled when entering system suspend, triggering an
'Unbalanced enable for IRQ xxx' warning. In this scenario, the call
sequence during system suspend is as follows:
  suspend_devices_and_enter()
    -> dpm_suspend_start()
      -> dpm_run_callback()
        -> pm_runtime_force_suspend()
          -> dev_pm_enable_wake_irq_check()
          -> dev_pm_enable_wake_irq_complete()

    -> suspend_enter()
      -> dpm_suspend_noirq()
        -> device_wakeup_arm_wake_irqs()
          -> dev_pm_arm_wake_irq()

To fix this issue, complete the setting of WAKE_IRQ_DEDICATED_ENABLED flag
in dev_pm_enable_wake_irq_complete() to avoid redundant irq enablement.

Fixes: 8527beb120 ("PM: sleep: wakeirq: fix wake irq arming")
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Signed-off-by: Qingliang Li <qingliang.li@mediatek.com>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Cc: 5.16+ <stable@vger.kernel.org> # 5.16+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-03 15:32:11 +02:00
Documentation docs: Restore "smart quotes" for quotes 2024-04-03 15:32:08 +02:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
arch KVM: x86/xen: inject vCPU upcall vector when local APIC is enabled 2024-04-03 15:32:11 +02:00
block block: Clear zone limits for a non-zoned stacked queue 2024-04-03 15:32:06 +02:00
certs This update includes the following changes: 2023-11-02 16:15:30 -10:00
crypto crypto: jitter - fix CRYPTO_JITTERENTROPY help text 2024-03-26 18:17:12 -04:00
drivers PM: sleep: wakeirq: fix wake irq warning in system suspend 2024-04-03 15:32:11 +02:00
fs ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path 2024-04-03 15:32:07 +02:00
include cpufreq: Limit resolving a frequency to policy min/max 2024-04-03 15:32:09 +02:00
init modules: wait do_free_init correctly 2024-03-26 18:17:17 -04:00
io_uring io_uring: fix poll_remove stalled req completion 2024-03-26 18:17:34 -04:00
ipc shm: Slim down dependencies 2023-12-20 19:26:31 -05:00
kernel PM: suspend: Set mem_sleep_current during kernel command line setup 2024-04-03 15:32:09 +02:00
lib pci_iounmap(): Fix MMIO mapping leak 2024-04-03 15:32:02 +02:00
mm kasan/test: avoid gcc warning for intentional overflow 2024-04-03 15:32:06 +02:00
net wifi: mac80211: track capability/opmode NSS separately 2024-04-03 15:32:11 +02:00
rust Rust changes for v6.8 2024-01-11 13:05:41 -08:00
samples work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
scripts kconfig: fix infinite loop when expanding a macro at the end of file 2024-03-26 18:17:29 -04:00
security smack: Handle SMACK64TRANSMUTE in smack_inode_setsecurity() 2024-04-03 15:32:01 +02:00
sound ASoC: SOF: amd: Skip IRAM/DRAM size modification for Steam Deck OLED 2024-03-26 18:17:34 -04:00
tools selftests/mqueue: Set timeout to 180 seconds 2024-04-03 15:32:05 +02:00
usr Kbuild updates for v6.8 2024-01-18 17:57:07 -08:00
virt KVM: Always flush async #PF workqueue when vCPU is being destroyed 2024-04-03 15:32:03 +02:00
.clang-format clang-format: Update with v6.7-rc4's `for_each` macro list 2023-12-08 23:54:38 +01:00
.cocciconfig
.editorconfig Add .editorconfig file for basic formatting 2023-12-28 16:22:47 +09:00
.get_maintainer.ignore get_maintainer: add Alan to .get_maintainer.ignore 2022-08-20 15:17:44 -07:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore Add .editorconfig file for basic formatting 2023-12-28 16:22:47 +09:00
.mailmap drm fixes for 6.8 final 2024-03-08 12:44:56 -08:00
.rustfmt.toml rust: add `.rustfmt.toml` 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: supplement of zswap maintainers update 2024-01-25 23:52:21 -08:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS drm fixes for 6.8 final 2024-03-08 12:44:56 -08:00
Makefile Linux 6.8.2 2024-03-26 18:23:34 -04:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.