| From 4aef468d6f2b61a1c6e9fa063fafe6326a9dad32 Mon Sep 17 00:00:00 2001 |
| From: Marc Zyngier <marc.zyngier@arm.com> |
| Date: Tue, 29 Jan 2019 15:19:23 +0000 |
| Subject: irqchip/gic-v3-its: Gracefully fail on LPI exhaustion |
| |
| [ Upstream commit 45725e0fc3e7fe52fedb94f59806ec50e9618682 ] |
| |
| In the unlikely event that we cannot find any available LPI in the |
| system, we should gracefully return an error instead of carrying |
| on with no LPI allocated at all. |
| |
| Fixes: 38dd7c494cf6 ("irqchip/gic-v3-its: Drop chunk allocation compatibility") |
| Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/irqchip/irq-gic-v3-its.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c |
| index d9a880108315..15579cba1a88 100644 |
| --- a/drivers/irqchip/irq-gic-v3-its.c |
| +++ b/drivers/irqchip/irq-gic-v3-its.c |
| @@ -1581,6 +1581,9 @@ static unsigned long *its_lpi_alloc(int nr_irqs, u32 *base, int *nr_ids) |
| nr_irqs /= 2; |
| } while (nr_irqs > 0); |
| |
| + if (!nr_irqs) |
| + err = -ENOSPC; |
| + |
| if (err) |
| goto out; |
| |
| -- |
| 2.19.1 |
| |