Commit 9553821e authored by Dan Carpenter's avatar Dan Carpenter Committed by Mark Brown

spi: spi-topcliff-pch: fix a pci_iomap() check

If pci_iomap() returns NULL, adding "PCH_ADDRESS_SIZE * plat_dev->id"
can make it non-NULL which breaks the error handling.
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 4a10c2ac
...@@ -1410,13 +1410,13 @@ static int pch_spi_pd_probe(struct platform_device *plat_dev) ...@@ -1410,13 +1410,13 @@ static int pch_spi_pd_probe(struct platform_device *plat_dev)
/* baseaddress + address offset) */ /* baseaddress + address offset) */
data->io_base_addr = pci_resource_start(board_dat->pdev, 1) + data->io_base_addr = pci_resource_start(board_dat->pdev, 1) +
PCH_ADDRESS_SIZE * plat_dev->id; PCH_ADDRESS_SIZE * plat_dev->id;
data->io_remap_addr = pci_iomap(board_dat->pdev, 1, 0) + data->io_remap_addr = pci_iomap(board_dat->pdev, 1, 0);
PCH_ADDRESS_SIZE * plat_dev->id;
if (!data->io_remap_addr) { if (!data->io_remap_addr) {
dev_err(&plat_dev->dev, "%s pci_iomap failed\n", __func__); dev_err(&plat_dev->dev, "%s pci_iomap failed\n", __func__);
ret = -ENOMEM; ret = -ENOMEM;
goto err_pci_iomap; goto err_pci_iomap;
} }
data->io_remap_addr += PCH_ADDRESS_SIZE * plat_dev->id;
dev_dbg(&plat_dev->dev, "[ch%d] remap_addr=%p\n", dev_dbg(&plat_dev->dev, "[ch%d] remap_addr=%p\n",
plat_dev->id, data->io_remap_addr); plat_dev->id, data->io_remap_addr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment