spi: sirf: fix error return code in spi_sirfsoc_probe()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Fri, 23 Aug 2013 00:33:39 +0000 (08:33 +0800)
committerMark Brown <broonie@linaro.org>
Fri, 23 Aug 2013 09:36:58 +0000 (10:36 +0100)
Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-sirf.c

index 546fae2..acfca88 100644 (file)
@@ -650,12 +650,14 @@ static int spi_sirfsoc_probe(struct platform_device *pdev)
                (void *)rx_dma_ch);
        if (!sspi->rx_chan) {
                dev_err(&pdev->dev, "can not allocate rx dma channel\n");
+               ret = -ENODEV;
                goto free_master;
        }
        sspi->tx_chan = dma_request_channel(dma_cap_mask, (dma_filter_fn)sirfsoc_dma_filter_id,
                (void *)tx_dma_ch);
        if (!sspi->tx_chan) {
                dev_err(&pdev->dev, "can not allocate tx dma channel\n");
+               ret = -ENODEV;
                goto free_rx_dma;
        }
 
@@ -678,8 +680,10 @@ static int spi_sirfsoc_probe(struct platform_device *pdev)
        writel(0, sspi->base + SIRFSOC_SPI_DUMMY_DELAY_CTL);
 
        sspi->dummypage = kmalloc(2 * PAGE_SIZE, GFP_KERNEL);
-       if (!sspi->dummypage)
+       if (!sspi->dummypage) {
+               ret = -ENOMEM;
                goto free_clk;
+       }
 
        ret = spi_bitbang_start(&sspi->bitbang);
        if (ret)