mtd/omap2: fix dmaengine_slave_config error handling
authorArnd Bergmann <arnd@arndb.de>
Sat, 4 Aug 2012 11:05:25 +0000 (11:05 +0000)
committerArnd Bergmann <arnd@arndb.de>
Fri, 10 Aug 2012 10:27:46 +0000 (12:27 +0200)
The newly added dmaengine support in the omap2 nand driver
potentially causes an undefined return value from the
omap_nand_probe function when dmaengine_slave_config
reports an error. Let's handle this by returning the
same error back to the caller.

Without this patch, building omap2plus_defconfig results in:

drivers/mtd/nand/omap2.c: In function 'omap_nand_probe':
drivers/mtd/nand/omap2.c:1154:6: warning: 'err' may be used uninitialized in this function [-Wuninitialized]

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Grazvydas Ignotas <notasas@gmail.com>
drivers/mtd/nand/omap2.c

index e9309b3..ac4fd75 100644 (file)
@@ -1245,7 +1245,6 @@ static int __devinit omap_nand_probe(struct platform_device *pdev)
                        goto out_release_mem_region;
                } else {
                        struct dma_slave_config cfg;
-                       int rc;
 
                        memset(&cfg, 0, sizeof(cfg));
                        cfg.src_addr = info->phys_base;
@@ -1254,10 +1253,10 @@ static int __devinit omap_nand_probe(struct platform_device *pdev)
                        cfg.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
                        cfg.src_maxburst = 16;
                        cfg.dst_maxburst = 16;
-                       rc = dmaengine_slave_config(info->dma, &cfg);
-                       if (rc) {
+                       err = dmaengine_slave_config(info->dma, &cfg);
+                       if (err) {
                                dev_err(&pdev->dev, "DMA engine slave config failed: %d\n",
-                                       rc);
+                                       err);
                                goto out_release_mem_region;
                        }
                        info->nand.read_buf   = omap_read_buf_dma_pref;