summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Axboe <axboe@fb.com>2014-11-18 16:21:18 +0100
committerJens Axboe <axboe@fb.com>2014-11-18 16:21:18 +0100
commit6dcc0cf6cb3120cedc0d4c12171894f3d6415981 (patch)
tree7f6867cdc595dd88c6029f1f06ae9af771f09dce
parentNVMe: replace blk_put_request() with blk_mq_free_request() (diff)
downloadlinux-6dcc0cf6cb3120cedc0d4c12171894f3d6415981.tar.xz
linux-6dcc0cf6cb3120cedc0d4c12171894f3d6415981.zip
NVMe: nvme_submit_async_admin_req() must use atomic rq allocation
We are called for async event notification issues, and the nvmeq lock is already held. If we fail the request allocation, we'll just retry next time. Reported-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Jens Axboe <axboe@fb.com>
-rw-r--r--drivers/block/nvme-core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c
index bbac17f29fe7..fb4b205317c6 100644
--- a/drivers/block/nvme-core.c
+++ b/drivers/block/nvme-core.c
@@ -825,7 +825,7 @@ static int nvme_submit_async_admin_req(struct nvme_dev *dev)
struct nvme_cmd_info *cmd_info;
struct request *req;
- req = blk_mq_alloc_request(dev->admin_q, WRITE, GFP_KERNEL, false);
+ req = blk_mq_alloc_request(dev->admin_q, WRITE, GFP_ATOMIC, false);
if (IS_ERR(req))
return PTR_ERR(req);