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

Reply via email to