From: Daniel Wagner Date: Wed, 7 May 2025 12:23:02 +0000 (+0200) Subject: nvmet-fcloop: add missing fcloop_callback_host_done X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=d7f7c6eb809ae36466a503b20689956b86e13827;p=users%2Fdwmw2%2Flinux.git nvmet-fcloop: add missing fcloop_callback_host_done Add the missing fcloop_call_host_done calls so that the caller frees resources when something goes wrong. Signed-off-by: Daniel Wagner Reviewed-by: Hannes Reinecke Signed-off-by: Christoph Hellwig --- diff --git a/drivers/nvme/target/fcloop.c b/drivers/nvme/target/fcloop.c index 4c60eaf0b653b..bac60c6de6cf1 100644 --- a/drivers/nvme/target/fcloop.c +++ b/drivers/nvme/target/fcloop.c @@ -1002,9 +1002,10 @@ fcloop_fcp_abort(struct nvme_fc_local_port *localport, } spin_unlock(&inireq->inilock); - if (!tfcp_req) + if (!tfcp_req) { /* abort has already been called */ - return; + goto out_host_done; + } /* break initiator/target relationship for io */ spin_lock_irqsave(&tfcp_req->reqlock, flags); @@ -1019,7 +1020,7 @@ fcloop_fcp_abort(struct nvme_fc_local_port *localport, default: spin_unlock_irqrestore(&tfcp_req->reqlock, flags); WARN_ON(1); - return; + goto out_host_done; } spin_unlock_irqrestore(&tfcp_req->reqlock, flags); @@ -1033,6 +1034,11 @@ fcloop_fcp_abort(struct nvme_fc_local_port *localport, */ fcloop_tfcp_req_put(tfcp_req); } + + return; + +out_host_done: + fcloop_call_host_done(fcpreq, tfcp_req, -ECANCELED); } static void