diff options
| author | Srinivas Neeli <[email protected]> | 2021-01-29 14:26:50 +0000 |
|---|---|---|
| committer | Bartosz Golaszewski <[email protected]> | 2021-02-15 10:43:33 +0000 |
| commit | 6e551bfa9872cd335d0929411cfdefe99ce65a1d (patch) | |
| tree | 2a6b05154409d66f63c2857edadef49a6aedb710 /drivers/gpio/gpio-xilinx.c | |
| parent | gpio: gpio-xilinx: Add support for suspend and resume (diff) | |
| download | kernel-6e551bfa9872cd335d0929411cfdefe99ce65a1d.tar.gz kernel-6e551bfa9872cd335d0929411cfdefe99ce65a1d.zip | |
gpio: gpio-xilinx: Add check if width exceeds 32
Add check to see if gpio-width property does not exceed 32.
If it exceeds then return -EINVAL.
Signed-off-by: Srinivas Neeli <[email protected]>
Reviewed-by: Linus Walleij <[email protected]>
Acked-by: William Breathitt Gray <[email protected]>
Signed-off-by: Bartosz Golaszewski <[email protected]>
Diffstat (limited to 'drivers/gpio/gpio-xilinx.c')
| -rw-r--r-- | drivers/gpio/gpio-xilinx.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-xilinx.c b/drivers/gpio/gpio-xilinx.c index acd574779ca6..b411d3156e0b 100644 --- a/drivers/gpio/gpio-xilinx.c +++ b/drivers/gpio/gpio-xilinx.c @@ -589,6 +589,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)) @@ -613,6 +616,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; |
