From 02a142abee24f79327a91c3348f1bcec9418c978 Mon Sep 17 00:00:00 2001 From: GangCao Date: Wed, 23 Nov 2016 21:34:41 -0500 Subject: [PATCH] nvme: move callback check only for the owning process Change-Id: I05b5540fe8b1e22e8aebe23598b8cd44c8990861 Signed-off-by: GangCao --- lib/nvme/nvme_pcie.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/nvme/nvme_pcie.c b/lib/nvme/nvme_pcie.c index 70b208d50..874a33d4a 100644 --- a/lib/nvme/nvme_pcie.c +++ b/lib/nvme/nvme_pcie.c @@ -949,13 +949,15 @@ nvme_pcie_qpair_complete_tracker(struct spdk_nvme_qpair *qpair, struct nvme_trac req->retries++; nvme_pcie_qpair_submit_tracker(qpair, tr); } else { - if (was_active && req->cb_fn) { + if (was_active) { /* Only check admin requests from different processes. */ if (nvme_qpair_is_admin_queue(qpair) && req->pid != getpid()) { req_from_current_proc = false; nvme_pcie_qpair_insert_pending_admin_request(qpair, req, cpl); } else { - req->cb_fn(req->cb_arg, cpl); + if (req->cb_fn) { + req->cb_fn(req->cb_arg, cpl); + } } }