The space allocated for irq stats in xnintr_init() will not be freed by rtdm_irq_free(), because it just calls xnintr_detach(). Replacing it with xnintr_destroy() fixes the issue.
Signed-off-by: Wolfgang Grandegger <[email protected]> --- include/cobalt/kernel/rtdm/driver.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/cobalt/kernel/rtdm/driver.h b/include/cobalt/kernel/rtdm/driver.h index 894e6f6..d69166d 100644 --- a/include/cobalt/kernel/rtdm/driver.h +++ b/include/cobalt/kernel/rtdm/driver.h @@ -858,7 +858,7 @@ static inline int rtdm_irq_free(rtdm_irq_t *irq_handle) { if (!XENO_ASSERT(COBALT, xnsched_root_p())) return -EPERM; - xnintr_detach(irq_handle); + xnintr_destroy(irq_handle); return 0; } -- 1.9.1
