Rusty Russell wrote:
Latest Linus kernel, but it's been there a while:
static struct irqaction irq_ipi = {
.handler = ipi_interrupt,
.flags = IRQF_DISABLED,
.name = "SMTC_IPI",
.flags = IRQF_PERCPU
};
.flags is initialized twice: I'm amazed this even compiles.
I don't know where that came from. The very earliest versions of smtc.c
didn't have a declaration initialization at all, but filled the fields
in setup_cross_vpe_interrupts(). The IRQ was PERCPU since day one. The
initial DISABLED state came later. I'm guessing someone added that
hastily and didn't notice the pre-existing .flags definition. I'm
curious as to which bit(s) are actually set.
Regards,
Kevin K.