]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
spi: spi-topcliff-pch: fix a pci_iomap() check
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 24 Sep 2013 07:54:51 +0000 (10:54 +0300)
committerMark Brown <broonie@linaro.org>
Tue, 24 Sep 2013 10:02:34 +0000 (11:02 +0100)
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: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-topcliff-pch.c

index eaeeed51bbbfa1f6a315fd87a2cef72b5dd2c5d1..777c40452bd1357ef3e9ed63326d58ff4e3cc089 100644 (file)
@@ -1410,13 +1410,13 @@ static int pch_spi_pd_probe(struct platform_device *plat_dev)
        /* baseaddress + address offset) */
        data->io_base_addr = pci_resource_start(board_dat->pdev, 1) +
                                         PCH_ADDRESS_SIZE * plat_dev->id;
-       data->io_remap_addr = pci_iomap(board_dat->pdev, 1, 0) +
-                                        PCH_ADDRESS_SIZE * plat_dev->id;
+       data->io_remap_addr = pci_iomap(board_dat->pdev, 1, 0);
        if (!data->io_remap_addr) {
                dev_err(&plat_dev->dev, "%s pci_iomap failed\n", __func__);
                ret = -ENOMEM;
                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",
                plat_dev->id, data->io_remap_addr);