pinctl: ti: iodelay: fix error checking on pinctrl_count_index_with_args call
authorColin Ian King <colin.king@canonical.com>
Fri, 20 Sep 2019 12:20:30 +0000 (14:20 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Jan 2020 18:45:48 +0000 (19:45 +0100)
commit 5ff8aca906f3a7a7db79fad92f2a4401107ef50d upstream.

The call to pinctrl_count_index_with_args checks for a -EINVAL return
however this function calls pinctrl_get_list_and_count and this can
return -ENOENT. Rather than check for a specific error, fix this by
checking for any error return to catch the -ENOENT case.

Addresses-Coverity: ("Improper use of negative")
Fixes: 003910ebc83b ("pinctrl: Introduce TI IOdelay configuration driver")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Link: https://lore.kernel.org/r/20190920122030.14340-1-colin.king@canonical.com
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pinctrl/ti/pinctrl-ti-iodelay.c

index 5c1b6325d80d183040952cfc146f72005670c0d7..8ac1f1ce44422f3c9dc986b17b8082e023d0d2af 100644 (file)
@@ -496,7 +496,7 @@ static int ti_iodelay_dt_node_to_map(struct pinctrl_dev *pctldev,
                return -EINVAL;
 
        rows = pinctrl_count_index_with_args(np, name);
-       if (rows == -EINVAL)
+       if (rows < 0)
                return rows;
 
        *map = devm_kzalloc(iod->dev, sizeof(**map), GFP_KERNEL);