Re: [PATCH v2 1/3] genirq/affinity: Add irq_update_affinity_desc()
From: John Garry
Date: Thu Nov 19 2020 - 14:56:50 EST
Hi Thomas,
3) Interrupt has already been switched to managed. Double init is not
really a good sign either.
I just tested that and case 3) would be a problem. I don't see us
clearing the managed flag when free'ing the interrupt. So with
CONFIG_DEBUG_TEST_DRIVER_REMOVE=y, we attempt this affinity update
twice, and error from the irqd_affinity_is_managed() check.
That means the interrupt is not deallocated and reallocated, which does
not make sense to me.
Just mentioning a couple of things here, which could be a clue to what
is going on:
- the device is behind mbigen secondary irq controller
- the flow in the LLDD is to allocate all 128 interrupts during probe,
but we only register handlers for a subset with device managed API
Thanks,
John