X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=src%2Fwrapper%2Firqdesc.c;h=b77b044b7d8fe543d8af450bfd0b3c93b706273f;hb=HEAD;hp=34968df25c9183f8ee91854dde9abef4bed6c4aa;hpb=5f4c791e2ad2c814101ccdb500e65543f2792c41;p=lttng-modules.git diff --git a/src/wrapper/irqdesc.c b/src/wrapper/irqdesc.c index 34968df2..b77b044b 100644 --- a/src/wrapper/irqdesc.c +++ b/src/wrapper/irqdesc.c @@ -13,8 +13,7 @@ #include #if (defined(CONFIG_KALLSYMS) && \ - ((LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0)) || \ - (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,4,0)))) + (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0))) #include #include @@ -30,7 +29,13 @@ struct irq_desc *wrapper_irq_to_desc(unsigned int irq) if (!irq_to_desc_sym) irq_to_desc_sym = (void *) kallsyms_lookup_funcptr("irq_to_desc"); if (irq_to_desc_sym) { - return irq_to_desc_sym(irq); + struct irq_ibt_state irq_ibt_state; + struct irq_desc *ret; + + irq_ibt_state = wrapper_irq_ibt_save(); + ret = irq_to_desc_sym(irq); + wrapper_irq_ibt_restore(irq_ibt_state); + return ret; } else { printk_once(KERN_WARNING "LTTng: irq_to_desc symbol lookup failed.\n"); return NULL;