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>
This commit is contained in:
Jens Axboe 2014-11-18 08:21:18 -07:00
parent 9d135bb8c2
commit 6dcc0cf6cb

View File

@ -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);