[PATCH V4 5/5] gpio: gpio-xilinx: Add check if width exceeds 32

From: Srinivas Neeli
Date: Wed Jan 06 2021 - 07:28:26 EST


Add check to see if gpio-width property does not exceed 32.
If it exceeds then return -EINVAL.

Signed-off-by: Srinivas Neeli <srinivas.neeli@xxxxxxxxxx>
---
Changes in V4:
-New patch.
---
drivers/gpio/gpio-xilinx.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/gpio/gpio-xilinx.c b/drivers/gpio/gpio-xilinx.c
index e47ae08167f8..ddec718e114c 100644
--- a/drivers/gpio/gpio-xilinx.c
+++ b/drivers/gpio/gpio-xilinx.c
@@ -591,6 +591,9 @@ static int xgpio_probe(struct platform_device *pdev)
if (of_property_read_u32(np, "xlnx,gpio-width", &chip->gpio_width[0]))
chip->gpio_width[0] = 32;

+ if (chip->gpio_width[0] > 32)
+ return -EINVAL;
+
spin_lock_init(&chip->gpio_lock);

if (of_property_read_u32(np, "xlnx,is-dual", &is_dual))
@@ -615,6 +618,8 @@ static int xgpio_probe(struct platform_device *pdev)
&chip->gpio_width[1]))
chip->gpio_width[1] = 32;

+ if (chip->gpio_width[1] > 32)
+ return -EINVAL;
}

chip->gc.base = -1;
--
2.7.4