diff options
author | Marek Vasut <marek.vasut+renesas@mailbox.org> | 2025-09-09 18:26:25 +0200 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2025-09-25 18:05:12 -0500 |
commit | 5ed35b4d490d8735021cce9b715b62a418310864 (patch) | |
tree | f3a1bdb0af0ff9d80242abc6d8e3029153fd33f6 /scripts/generate_rust_analyzer.py | |
parent | 0a8f173d9dad13930d5888505dc4c4fd6a1d4262 (diff) |
PCI: rcar-host: Convert struct rcar_msi mask_lock into raw spinlock
The rcar_msi_irq_unmask() function may be called from a PCI driver
request_threaded_irq() function. This triggers kernel/irq/manage.c
__setup_irq() which locks raw spinlock &desc->lock descriptor lock
and with that descriptor lock held, calls rcar_msi_irq_unmask().
Since the &desc->lock descriptor lock is a raw spinlock, and the rcar_msi
.mask_lock is not a raw spinlock, this setup triggers 'BUG: Invalid wait
context' with CONFIG_PROVE_RAW_LOCK_NESTING=y.
Use scoped_guard() to simplify the locking.
Fixes: 83ed8d4fa656 ("PCI: rcar: Convert to MSI domains")
Reported-by: Duy Nguyen <duy.nguyen.rh@renesas.com>
Reported-by: Thuan Nguyen <thuan.nguyen-hong@banvien.com.vn>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Marc Zyngier <maz@kernel.org>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20250909162707.13927-2-marek.vasut+renesas@mailbox.org
Diffstat (limited to 'scripts/generate_rust_analyzer.py')
0 files changed, 0 insertions, 0 deletions