]> Git Repo - linux.git/commitdiff
gpiolib: use gpiochip_get_desc() in gpio_ioctl()
authorBartosz Golaszewski <[email protected]>
Tue, 24 Dec 2019 12:07:02 +0000 (13:07 +0100)
committerBartosz Golaszewski <[email protected]>
Tue, 7 Jan 2020 11:03:28 +0000 (12:03 +0100)
Unduplicate the offset check by simply calling gpiochip_get_desc() and
checking its return value.

Signed-off-by: Bartosz Golaszewski <[email protected]>
Reviewed-by: Andy Shevchenko <[email protected]>
Reviewed-by: Linus Walleij <[email protected]>
drivers/gpio/gpiolib.c

index a11c4ee3e47f967df2e5ad6622d4efa1182bab22..5eef7ddddd0e369f97f5bb35ddfeece42327fadc 100644 (file)
@@ -1175,10 +1175,11 @@ static long gpio_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
 
                if (copy_from_user(&lineinfo, ip, sizeof(lineinfo)))
                        return -EFAULT;
-               if (lineinfo.line_offset >= gdev->ngpio)
-                       return -EINVAL;
 
-               desc = &gdev->descs[lineinfo.line_offset];
+               desc = gpiochip_get_desc(chip, lineinfo.line_offset);
+               if (IS_ERR(desc))
+                       return PTR_ERR(desc);
+
                if (desc->name) {
                        strncpy(lineinfo.name, desc->name,
                                sizeof(lineinfo.name));
This page took 0.062876 seconds and 4 git commands to generate.