cavs: disable all interrupts when configuring interrupt controllers
Some interrupts can be enabled by the ROM, e.g. the timer interrupt. When then in Zephyr the interrupt controller is enabled, before individual interrupts are configured, interrupts can arrive and lead to the spurious interrupt handler being invoked. Fix thid by disabling all child interrupts when configuring cAVS interrupt controllers. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
This commit is contained in:
parent
daab673426
commit
80f9daab9f
1 changed files with 5 additions and 0 deletions
|
@ -132,6 +132,11 @@ static const struct irq_next_level_api cavs_apis = {
|
|||
#define CAVS_ICTL_INIT(n) \
|
||||
static int cavs_ictl_##n##_initialize(const struct device *port) \
|
||||
{ \
|
||||
struct cavs_ictl_runtime *context = port->data; \
|
||||
volatile struct cavs_registers * const regs = \
|
||||
(struct cavs_registers *)context->base_addr; \
|
||||
regs->disable_il = ~0; \
|
||||
\
|
||||
return 0; \
|
||||
} \
|
||||
\
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue