kernel/irq: Extend lockdep class for request mutex
The IRQ code already has support for lockdep class for the lock mutex in an interrupt descriptor. Extend this to add a second class for the request mutex in the descriptor. Not having a class is resulting in false positive splats in some code paths. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: linus.walleij@linaro.org Cc: grygorii.strashko@ti.com Cc: f.fainelli@gmail.com Link: https://lkml.kernel.org/r/1512234664-21555-1-git-send-email-andrew@lunn.ch
This commit is contained in:
committed by
Thomas Gleixner
parent
beacbc68ac
commit
39c3fd5895
@ -342,6 +342,9 @@ static irqreturn_t intc_irqpin_shared_irq_handler(int irq, void *dev_id)
|
||||
*/
|
||||
static struct lock_class_key intc_irqpin_irq_lock_class;
|
||||
|
||||
/* And this is for the request mutex */
|
||||
static struct lock_class_key intc_irqpin_irq_request_class;
|
||||
|
||||
static int intc_irqpin_irq_domain_map(struct irq_domain *h, unsigned int virq,
|
||||
irq_hw_number_t hw)
|
||||
{
|
||||
@ -352,7 +355,8 @@ static int intc_irqpin_irq_domain_map(struct irq_domain *h, unsigned int virq,
|
||||
|
||||
intc_irqpin_dbg(&p->irq[hw], "map");
|
||||
irq_set_chip_data(virq, h->host_data);
|
||||
irq_set_lockdep_class(virq, &intc_irqpin_irq_lock_class);
|
||||
irq_set_lockdep_class(virq, &intc_irqpin_irq_lock_class,
|
||||
&intc_irqpin_irq_request_class);
|
||||
irq_set_chip_and_handler(virq, &p->irq_chip, handle_level_irq);
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user