diff options
author | 2020-06-30 12:07:51 +0200 | |
---|---|---|
committer | 2020-06-30 12:07:51 +0200 | |
commit | 98817a84ff1c755c347ac633ff017a623a631fad (patch) | |
tree | 93bd22485a697d1dbba97b2829b82e03c08ae57f /kernel/irq/manage.c | |
parent | Linux 5.7-rc4 (diff) | |
parent | irqchip/gic: Atomically update affinity (diff) | |
download | wireguard-linux-98817a84ff1c755c347ac633ff017a623a631fad.tar.xz wireguard-linux-98817a84ff1c755c347ac633ff017a623a631fad.zip |
Merge tag 'irqchip-fixes-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/urgent
Pull irqchip fixes from Marc Zyngier:
- Fix atomicity of affinity update in the GIC driver
- Don't sleep in atomic when waiting for a GICv4.1 RD to respond
- Fix a couple of typos in user-visible messages
Diffstat (limited to '')
-rw-r--r-- | kernel/irq/manage.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 453a8a0f4804..761911168438 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -2619,6 +2619,8 @@ int __irq_get_irqchip_state(struct irq_data *data, enum irqchip_irq_state which, do { chip = irq_data_get_irq_chip(data); + if (WARN_ON_ONCE(!chip)) + return -ENODEV; if (chip->irq_get_irqchip_state) break; #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY @@ -2696,6 +2698,8 @@ int irq_set_irqchip_state(unsigned int irq, enum irqchip_irq_state which, do { chip = irq_data_get_irq_chip(data); + if (WARN_ON_ONCE(!chip)) + return -ENODEV; if (chip->irq_set_irqchip_state) break; #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY |