diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-08-04 11:05:25 +0000 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-08-10 12:27:46 +0200 |
commit | d680e2c11eb0ddd21ba438b3a537e2eb093ff86f (patch) | |
tree | 46a94ebf41980f2cc3e25d2a4d8cf26a5a9b2f48 /drivers/mtd | |
parent | 38eaed327dc5bea2e5548ea3d195de83a2070c6d (diff) | |
download | linux-d680e2c11eb0ddd21ba438b3a537e2eb093ff86f.tar.gz linux-d680e2c11eb0ddd21ba438b3a537e2eb093ff86f.tar.bz2 linux-d680e2c11eb0ddd21ba438b3a537e2eb093ff86f.zip |
mtd/omap2: fix dmaengine_slave_config error handling
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>
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/nand/omap2.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c index e9309b3659e7..ac4fd756eda3 100644 --- a/drivers/mtd/nand/omap2.c +++ b/drivers/mtd/nand/omap2.c @@ -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; |