From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Date: Thu, 14 Aug 2014 03:49:52 +0000 (-0700)
Subject: rbd: fix error return code in rbd_dev_device_setup()
X-Git-Tag: firefly_0821_release~176^2~3251^2~3
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=255939e783d8f45f8c58487dfc18957c44ea9871;p=firefly-linux-kernel-4.4.55.git

rbd: fix error return code in rbd_dev_device_setup()

Fix to return -ENOMEM from the workqueue alloc error handling
case instead of 0, as done elsewhere in this function.

Reviewed-by: Alex Elder <elder@linaro.org>
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
---

diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 2cd01ca1b5b4..4b97baf8afa3 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -5088,8 +5088,10 @@ static int rbd_dev_device_setup(struct rbd_device *rbd_dev)
 	set_disk_ro(rbd_dev->disk, rbd_dev->mapping.read_only);
 
 	rbd_dev->rq_wq = alloc_workqueue("%s", 0, 0, rbd_dev->disk->disk_name);
-	if (!rbd_dev->rq_wq)
+	if (!rbd_dev->rq_wq) {
+		ret = -ENOMEM;
 		goto err_out_mapping;
+	}
 
 	ret = rbd_bus_add_dev(rbd_dev);
 	if (ret)