summaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2014-08-13 20:49:52 -0700
committerLuis Henriques <luis.henriques@canonical.com>2014-11-17 14:15:35 +0000
commit0a62c31b440cd95358cc7c2490b78ac2453835ec (patch)
tree2983414e4c78e278f682f5463f276d62f10d0320 /drivers/block
parent9009238b455709cf54d8741473065485d484d26d (diff)
downloadlinux-stable-0a62c31b440cd95358cc7c2490b78ac2453835ec.tar.gz
linux-stable-0a62c31b440cd95358cc7c2490b78ac2453835ec.tar.bz2
linux-stable-0a62c31b440cd95358cc7c2490b78ac2453835ec.zip
rbd: fix error return code in rbd_dev_device_setup()
commit 255939e783d8f45f8c58487dfc18957c44ea9871 upstream. 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> Cc: Ilya Dryomov <ilya.dryomov@inktank.com> Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/rbd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 453afd257530..5c38fe1f4b85 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -5104,8 +5104,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)