summaryrefslogtreecommitdiff
path: root/kernel/irq/debugfs.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2020-03-06 14:03:45 +0100
committerThomas Gleixner <tglx@linutronix.de>2020-03-08 11:06:41 +0100
commit1f85b1f5e1f5541272abedc19ba7b6c5b564c228 (patch)
tree777fb3cb28164952979aaa23643d353dd52ee92e /kernel/irq/debugfs.c
parent008f1d60fe25810d4554916744b0975d76601b64 (diff)
genirq: Add return value to check_irq_resend()
In preparation for an interrupt injection interface which can be used safely by error injection mechanisms. e.g. PCI-E/ AER, add a return value to check_irq_resend() so errors can be propagated to the caller. Split out the software resend code so the ugly #ifdef in check_irq_resend() goes away and the whole thing becomes readable. Fix up the caller in debugfs. The caller in irq_startup() does not care about the return value as this is unconditionally invoked for all interrupts and the resend is best effort anyway. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Marc Zyngier <maz@kernel.org> Link: https://lkml.kernel.org/r/20200306130623.775200917@linutronix.de
Diffstat (limited to 'kernel/irq/debugfs.c')
-rw-r--r--kernel/irq/debugfs.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/irq/debugfs.c b/kernel/irq/debugfs.c
index d44c8fd17609..0c607798f519 100644
--- a/kernel/irq/debugfs.c
+++ b/kernel/irq/debugfs.c
@@ -218,8 +218,7 @@ static ssize_t irq_debug_write(struct file *file, const char __user *user_buf,
err = -EINVAL;
} else {
desc->istate |= IRQS_PENDING;
- check_irq_resend(desc);
- err = 0;
+ err = check_irq_resend(desc);
}
raw_spin_unlock_irqrestore(&desc->lock, flags);