summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2013-04-19 09:25:45 +0800
committerChanho Park <chanho61.park@samsung.com>2014-03-20 17:34:31 +0900
commit4415066b2cdfb1fc8fc4d07302ce18f473c03859 (patch)
tree622cdb7cde6ffe373ca47e4615c1d63f81a16ff4
parent101be125a6d7f4492006831862a9e524034527d0 (diff)
downloadlinux-3.10-4415066b2cdfb1fc8fc4d07302ce18f473c03859.tar.gz
linux-3.10-4415066b2cdfb1fc8fc4d07302ce18f473c03859.tar.bz2
linux-3.10-4415066b2cdfb1fc8fc4d07302ce18f473c03859.zip
mmc: dw_mmc: fix error return code in dw_mci_probe()
Fix to return -ENOMEM in alloc workqueue error case instead of 0, as done elsewhere in this function. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Acked-by: Seungwon Jeon <tgih.jun@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
-rw-r--r--drivers/mmc/host/dw_mmc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index bc3a1bc4940..0652690f2d6 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -2321,8 +2321,10 @@ int dw_mci_probe(struct dw_mci *host)
tasklet_init(&host->tasklet, dw_mci_tasklet_func, (unsigned long)host);
host->card_workqueue = alloc_workqueue("dw-mci-card",
WQ_MEM_RECLAIM | WQ_NON_REENTRANT, 1);
- if (!host->card_workqueue)
+ if (!host->card_workqueue) {
+ ret = -ENOMEM;
goto err_dmaunmap;
+ }
INIT_WORK(&host->card_work, dw_mci_work_routine_card);
ret = devm_request_irq(host->dev, host->irq, dw_mci_interrupt,
host->irq_flags, "dw-mci", host);