diff options
author | Chunyan Zhang <chunyan.zhang@unisoc.com> | 2020-12-09 13:51:06 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-12-30 11:50:55 +0100 |
commit | 0a652b181d757c0ed88fc781b60e112e3f70af4b (patch) | |
tree | ecdd64c951a80280622ca5d5e301669eed4121cc /drivers/gpio | |
parent | 2ebb2df149d416bbdd52f6d82ec84d0fbcee6958 (diff) | |
download | linux-stable-0a652b181d757c0ed88fc781b60e112e3f70af4b.tar.gz linux-stable-0a652b181d757c0ed88fc781b60e112e3f70af4b.tar.bz2 linux-stable-0a652b181d757c0ed88fc781b60e112e3f70af4b.zip |
gpio: eic-sprd: break loop when getting NULL device resource
[ Upstream commit 263ade7166a2e589c5b605272690c155c0637dcb ]
EIC controller have unfixed numbers of banks on different Spreadtrum SoCs,
and each bank has its own base address, the loop of getting there base
address in driver should break if the resource gotten via
platform_get_resource() is NULL already. The later ones would be all NULL
even if the loop continues.
Fixes: 25518e024e3a ("gpio: Add Spreadtrum EIC driver support")
Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>
Link: https://lore.kernel.org/r/20201209055106.840100-1-zhang.lyra@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/gpio')
-rw-r--r-- | drivers/gpio/gpio-eic-sprd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-eic-sprd.c b/drivers/gpio/gpio-eic-sprd.c index 8c9757774010..a69b3faf51ef 100644 --- a/drivers/gpio/gpio-eic-sprd.c +++ b/drivers/gpio/gpio-eic-sprd.c @@ -598,7 +598,7 @@ static int sprd_eic_probe(struct platform_device *pdev) */ res = platform_get_resource(pdev, IORESOURCE_MEM, i); if (!res) - continue; + break; sprd_eic->base[i] = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(sprd_eic->base[i])) |