summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2021-11-08 08:52:06 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2021-11-08 09:15:23 +0100
commitbddbf8dfc9ffd286ba7d19502e21f47c61df8fe2 (patch)
treea5f70e2ea8c8a0ed80db3da415f7ccc31c24ae25
parent6b2c6c9a4afb3d2c082d07f5019e82cb2ed0c0f3 (diff)
downloadbarebox-bddbf8dfc9ffd286ba7d19502e21f47c61df8fe2.tar.gz
barebox-bddbf8dfc9ffd286ba7d19502e21f47c61df8fe2.tar.xz
pinctrl: Rockchip: abort probe on lack of aliases
The driver depends on the existence of aliases and will read out-of-bounds if they are missing for a node. Make failure graceful by aborting before that happens. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20211108075209.2366770-6-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/pinctrl/pinctrl-rockchip.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
index 9b832c97d6..e73e378490 100644
--- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -342,6 +342,9 @@ static int rockchip_gpio_probe(struct device_d *dev)
int ret, bankno;
bankno = of_alias_get_id(dev->device_node, "gpio");
+ if (bankno < 0)
+ return bankno;
+
bank = &ctrl->pin_banks[bankno];
gpio = &bank->bgpio_chip.gc;