summaryrefslogtreecommitdiff
path: root/drivers/block
diff options
context:
space:
mode:
authorJens Axboe <axboe@fb.com>2014-11-18 15:21:18 (GMT)
committerJens Axboe <axboe@fb.com>2014-11-18 15:21:18 (GMT)
commit6dcc0cf6cb3120cedc0d4c12171894f3d6415981 (patch)
tree7f6867cdc595dd88c6029f1f06ae9af771f09dce /drivers/block
parent9d135bb8c2a0d2e54b84ebc1b7d41852614fead8 (diff)
downloadlinux-6dcc0cf6cb3120cedc0d4c12171894f3d6415981.tar.xz
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>
Diffstat (limited to 'drivers/block')
-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 bbac17f..fb4b205 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);