[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190206104848.12580-4-marc.zyngier@arm.com>
Date: Wed, 6 Feb 2019 10:48:46 +0000
From: Marc Zyngier <marc.zyngier@....com>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: Heyi Guo <guoheyi@...wei.com>, Heyi Guo <heyi.guo@...aro.org>,
Lubomir Rintel <lkundrak@...sk>, Pavel Machek <pavel@....cz>,
Zenghui Yu <yuzenghui@...wei.com>,
Zheng Xiang <zhengxiang9@...wei.com>,
Jason Cooper <jason@...edaemon.net>,
linux-kernel@...r.kernel.org
Subject: [PATCH 3/5] irqchip/gic-v3-its: Gracefully fail on LPI exhaustion
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@....com>
---
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 f25ec92f23ee..c3aba3fc818d 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -1586,6 +1586,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.20.1
Powered by blists - more mailing lists