]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ata: sata_dwc_460ex: enable SATA interrupts only after IRQ handler is registered
authorRosen Penev <rosenp@gmail.com>
Sun, 12 Jul 2026 21:37:26 +0000 (14:37 -0700)
committerDamien Le Moal <dlemoal@kernel.org>
Mon, 13 Jul 2026 05:32:11 +0000 (14:32 +0900)
commit4bbc16a353a98023e5ddfca7c1fc0e49971cf4d0
treea32b1532b545013a18d4a7b0578685b84d968b85
parent793bf193b18e9bff6c4280268bbffd16a5b533e5
ata: sata_dwc_460ex: enable SATA interrupts only after IRQ handler is registered

sata_dwc_enable_interrupts() is called before platform_get_irq() and
ata_host_activate(), leaving the SATA controller's interrupt mask
enabled without a registered handler.  If a later step fails (irq
request, phy init, etc.) or if the controller asserts an interrupt
during probe, the irq line may fire with no handler, causing a
spurious interrupt storm.

Move sata_dwc_enable_interrupts() after ata_host_activate() so that
interrupts are only unmasked once the handler is registered and the
core is fully initialized.

Fixes: 62936009f35a ("[libata] Add 460EX on-chip SATA driver, sata_dwc_460ex")
Assisted-by: opencode:big-pickle
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
drivers/ata/sata_dwc_460ex.c