Messages in this thread | | | Date | Mon, 22 Feb 2016 20:18:19 +0530 | From | Shreyas B Prabhu <> | Subject | Re: [PATCH V3 1/2] irq: Track the interrupt timings |
| |
Hi Daniel,
On 02/16/2016 09:13 PM, Daniel Lezcano wrote: > diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c > index 0ccd028..577686b 100644 > --- a/kernel/irq/irqdesc.c > +++ b/kernel/irq/irqdesc.c > @@ -174,6 +174,9 @@ static struct irq_desc *alloc_desc(int irq, int node, struct module *owner) > if (alloc_masks(desc, gfp, node)) > goto err_kstat; > > + if (alloc_timings(desc)) > + goto err_mask; > + > raw_spin_lock_init(&desc->lock); > lockdep_set_class(&desc->lock, &irq_desc_lock_class); > init_rcu_head(&desc->rcu); > @@ -182,6 +185,8 @@ static struct irq_desc *alloc_desc(int irq, int node, struct module *owner) > > return desc; > > +err_mask: > + free_masks(desc); > err_kstat: > free_percpu(desc->kstat_irqs); > err_desc: > @@ -220,6 +225,11 @@ static void free_desc(unsigned int irq) > * the child interrupts. > */ > call_rcu(&desc->rcu, delayed_free_desc); > + > + free_timings(desc); > + free_masks(desc); > + free_percpu(desc->kstat_irqs); > + kfree(desc); > }
I think this is a rebase error. If I am not wrong, instead of this you need to add free_timings(desc) to delayed_free_desc.
Thanks, Shreyas
| |