Merge tag 'for-6.1/block-2022-10-03' of git://git.kernel.dk/linux
[linux-block.git] / drivers / nvme / target / core.c
index 8e3cf0c3588ce92e79ec4d33716579fd87c99d07..14677145bbba098772d1338fc871d258acfbdb9e 100644 (file)
@@ -735,6 +735,8 @@ static void nvmet_set_error(struct nvmet_req *req, u16 status)
 
 static void __nvmet_req_complete(struct nvmet_req *req, u16 status)
 {
+       struct nvmet_ns *ns = req->ns;
+
        if (!req->sq->sqhd_disabled)
                nvmet_update_sq_head(req);
        req->cqe->sq_id = cpu_to_le16(req->sq->qid);
@@ -745,9 +747,9 @@ static void __nvmet_req_complete(struct nvmet_req *req, u16 status)
 
        trace_nvmet_req_complete(req);
 
-       if (req->ns)
-               nvmet_put_namespace(req->ns);
        req->ops->queue_response(req);
+       if (ns)
+               nvmet_put_namespace(ns);
 }
 
 void nvmet_req_complete(struct nvmet_req *req, u16 status)