gpio: pca953x: avoid to use uninitialized value pinctrl
authorHaibo Chen <haibo.chen@nxp.com>
Sat, 10 Dec 2022 22:05:58 +0000 (00:05 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Jan 2023 11:02:20 +0000 (12:02 +0100)
[ Upstream commit 90fee3dd5bfc1b9f4c8c0ba6cd2a35c9d79ca4de ]

There is a variable pinctrl declared without initializer. And then
has the case (switch operation chose the default case) to directly
use this uninitialized value, this is not a safe behavior. So here
initialize the pinctrl as 0 to avoid this issue.
This is reported by Coverity.

Fixes: 13c5d4ce8060 ("gpio: pca953x: Add support for PCAL6534")
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpio/gpio-pca953x.c

index ebe1943..bf21803 100644 (file)
@@ -473,6 +473,9 @@ static u8 pcal6534_recalc_addr(struct pca953x_chip *chip, int reg, int off)
        case PCAL6524_DEBOUNCE:
                pinctrl = ((reg & PCAL_PINCTRL_MASK) >> 1) + 0x1c;
                break;
+       default:
+               pinctrl = 0;
+               break;
        }
 
        return pinctrl + addr + (off / BANK_SZ);