stm32h7: sdmmc: don't panic on spurious IRQs

When doing I/O, the interrupt can rarely fire with no
active command and no status bits set. This is probably
because the interrupt is set pending by the NVIC while
the handler is already running, so should be harmless.

Change-Id: I0c2570abe6e3c85ddbfa2ebe0afcf8677b77408f
This commit is contained in:
Aidan MacDonald 2026-02-06 11:53:20 +00:00
parent f5be6cd10c
commit c390467d19

View file

@ -407,7 +407,12 @@ void stm32h7_sdmmc_irq_handler(struct stm32h7_sdmmc_controller *ctl)
uint32_t icr = 0;
if (!ctl->cmd_wait)
panicf("sdmmc_irq: not waiting: %08lx", star);
{
if (star != 0)
panicf("sdmmc_irq: not waiting: %08lx", star);
return;
}
/*
* Ignore interrupts which we haven't enabled; this is needed