mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-03 17:14:14 +08:00
NVMe: fix error return checking from blk_mq_alloc_request()
We return an error pointer or the request, not NULL. Half the call paths got it right, the others didn't. Fix those up. Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
c87fd5407e
commit
97fe383222
@ -875,8 +875,8 @@ static int __nvme_submit_admin_cmd(struct nvme_dev *dev, struct nvme_command *cm
|
||||
struct request *req;
|
||||
|
||||
req = blk_mq_alloc_request(dev->admin_q, WRITE, GFP_KERNEL, false);
|
||||
if (!req)
|
||||
return -ENOMEM;
|
||||
if (IS_ERR(req))
|
||||
return PTR_ERR(req);
|
||||
res = nvme_submit_sync_cmd(req, cmd, result, timeout);
|
||||
blk_mq_free_request(req);
|
||||
return res;
|
||||
@ -896,8 +896,8 @@ int nvme_submit_io_cmd(struct nvme_dev *dev, struct nvme_ns *ns,
|
||||
|
||||
req = blk_mq_alloc_request(ns->queue, WRITE, (GFP_KERNEL|__GFP_WAIT),
|
||||
false);
|
||||
if (!req)
|
||||
return -ENOMEM;
|
||||
if (IS_ERR(req))
|
||||
return PTR_ERR(req);
|
||||
res = nvme_submit_sync_cmd(req, cmd, result, NVME_IO_TIMEOUT);
|
||||
blk_mq_free_request(req);
|
||||
return res;
|
||||
@ -1691,8 +1691,8 @@ static int nvme_user_cmd(struct nvme_dev *dev, struct nvme_ns *ns,
|
||||
|
||||
req = blk_mq_alloc_request(ns->queue, WRITE,
|
||||
(GFP_KERNEL|__GFP_WAIT), false);
|
||||
if (!req)
|
||||
status = -ENOMEM;
|
||||
if (IS_ERR(req))
|
||||
status = PTR_ERR(req);
|
||||
else {
|
||||
status = nvme_submit_sync_cmd(req, &c, &cmd.result,
|
||||
timeout);
|
||||
|
Loading…
Reference in New Issue
Block a user