From: Jens Axboe Date: Tue, 18 Nov 2014 15:21:18 +0000 (-0700) Subject: NVMe: nvme_submit_async_admin_req() must use atomic rq allocation X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=6dcc0cf6cb3120cedc0d4c12171894f3d6415981;p=deliverable%2Flinux.git 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 Signed-off-by: Jens Axboe --- 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);