mmc: dw_mmc: fix error return code in dw_mci_probe()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Fri, 19 Apr 2013 01:25:45 +0000 (09:25 +0800)
committerChris Ball <cjb@laptop.org>
Sun, 26 May 2013 18:23:13 +0000 (14:23 -0400)
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>
drivers/mmc/host/dw_mmc.c

index bc3a1bc4940f41ce4efee78563d94e1ab6cbd49f..0652690f2d663bc397e03caaeae6f59f8fb3f959 100644 (file)
@@ -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);