From: sashiko-bot@kernel.org
To: "Igor Velkov" <iav@iav.lv>, "Thomas Gleixner" <tglx@kernel.org>
Cc: "Radu Rendec" <radu@rendec.net>, "Marc Zyngier" <maz@kernel.org>,
"Eliav Farber" <farbere@amazon.com>,
"Catalin Marinas" <catalin.marinas@arm.com>,
"Will Deacon" <will@kernel.org>,
"Mark Rutland" <mark.rutland@arm.com>,
"Baoquan He" <baoquan.he@linux.dev>,
"Heiko Stuebner" <heiko@sntech.de>,
kexec@lists.infradead.org
Subject: Re: [PATCH v2] genirq/kexec: Do not take the bus lock of an interrupt chip on the crash path
Date: Thu, 15 Oct 2026 18:58:04 +0000 [thread overview]
Message-ID: <sashiko-outbox-173342@kernel.org> (raw)
In-Reply-To: <20261015-kexec-irq-bus-lock-v2-1-2af15f0757b6@iav.lv>
> From: Igor Velkov <iav@iav.lv>
>
> machine_kexec_mask_interrupts() calls irq_set_irqchip_state() for every
> started interrupt. That function takes the bus lock of the chip and
> desc->lock, and syncs the chip when it drops them. On the crash path
> interrupts are off and the other CPUs are stopped, so a chip whose bus
> transfer is completed by an interrupt never returns from the sync.
>
> On RK3399 boards with an RK808 PMIC the RTC alarm interrupt belongs to
> the regmap-irq chip of the RK808, which sits on I2C. rk808_irq_chip sets
> init_ack_masked, so regmap_irq_sync_unlock() writes the ack register on
> every unlock, and the I2C controller needs its own interrupt to finish
> the transfer. A panic with a crash kernel loaded prints
>
> SMP: stopping secondary CPUs
>
> and then nothing until the watchdog resets the board.
>
> machine_kexec_mask_interrupts() takes neither lock for the other
> operations on the descriptor. Move the search for the chip that
> implements irq_set_irqchip_state() into __irq_set_irqchip_state(), which
> takes no locks, and call it from machine_kexec_mask_interrupts().
>
> Fixes: 78fd584cdec0 ("arm64: kdump: implement machine_crash_shutdown()")
> Suggested-by: Thomas Gleixner <tglx@kernel.org>
> Assisted-by: LLM
> Signed-off-by: Igor Velkov <iav@iav.lv>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261015-kexec-irq-bus-lock-v2-1-2af15f0757b6@iav.lv?part=1
prev parent reply other threads:[~2026-10-15 18:58 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-15 18:51 [PATCH v2] genirq/kexec: Do not take the bus lock of an interrupt chip on the crash path Igor Velkov
2026-10-15 18:51 ` Igor Velkov via B4 Relay
2026-10-15 18:51 ` Igor Velkov via B4 Relay
2026-10-15 18:58 ` sashiko-bot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=sashiko-outbox-173342@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=baoquan.he@linux.dev \
--cc=catalin.marinas@arm.com \
--cc=farbere@amazon.com \
--cc=heiko@sntech.de \
--cc=iav@iav.lv \
--cc=kexec@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=radu@rendec.net \
--cc=sashiko-reviews@lists.linux.dev \
--cc=tglx@kernel.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.