From: Frank Li <Frank.Li@nxp.com>
To: "Vinod Koul" <vkoul@kernel.org>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Christoph Hellwig" <hch@lst.de>,
"Sagi Grimberg" <sagi@grimberg.me>,
"Chaitanya Kulkarni" <kch@nvidia.com>,
"Herbert Xu" <herbert@gondor.apana.org.au>,
"David S. Miller" <davem@davemloft.net>,
"Nicolas Ferre" <nicolas.ferre@microchip.com>,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Claudiu Beznea" <claudiu.beznea@tuxon.dev>,
"Koichiro Den" <den@valinux.co.jp>,
"Niklas Cassel" <cassel@kernel.org>
Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org,
mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org,
linux-crypto@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev,
Frank Li <Frank.Li@nxp.com>, Damien Le Moal <dlemoal@kernel.org>
Subject: [PATCH v3 6/9] nvmet: pci-epf: Remove unnecessary dmaengine_terminate_sync() on each DMA transfer
Date: Mon, 05 Jan 2026 17:46:56 -0500 [thread overview]
Message-ID: <20260105-dma_prep_config-v3-6-a8480362fd42@nxp.com> (raw)
In-Reply-To: <20260105-dma_prep_config-v3-0-a8480362fd42@nxp.com>
dmaengine_terminate_sync() cancels all pending requests. Calling it for
every DMA transfer is unnecessary and counterproductive. This function is
generally intended for cleanup paths such as module removal, device close,
or unbind operations.
Remove the redundant calls for success path and keep it only at error path.
Tested-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
This one also fix stress test failure after remove mutex and use new API
dmaengine_prep_slave_sg_config().
---
drivers/nvme/target/pci-epf.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/nvme/target/pci-epf.c b/drivers/nvme/target/pci-epf.c
index f858a6c9d7cb90670037a957cebdcbf17dddc43b..56b1c6a7706a9e2dd9d8aaf17b440129b948486c 100644
--- a/drivers/nvme/target/pci-epf.c
+++ b/drivers/nvme/target/pci-epf.c
@@ -420,10 +420,9 @@ static int nvmet_pci_epf_dma_transfer(struct nvmet_pci_epf *nvme_epf,
if (dma_sync_wait(chan, cookie) != DMA_COMPLETE) {
dev_err(dev, "DMA transfer failed\n");
ret = -EIO;
+ dmaengine_terminate_sync(chan);
}
- dmaengine_terminate_sync(chan);
-
unmap:
dma_unmap_single(dma_dev, dma_addr, seg->length, dir);
--
2.34.1
next prev parent reply other threads:[~2026-01-05 22:47 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-05 22:46 [PATCH v3 0/9] dmaengine: Add new API to combine configuration and descriptor preparation Frank Li
2026-01-05 22:46 ` [PATCH v3 1/9] dmaengine: Add API to combine configuration and preparation (sg and single) Frank Li
2026-01-05 22:46 ` [PATCH v3 2/9] dmaengine: Add safe API to combine configuration and preparation Frank Li
2026-01-05 22:46 ` [PATCH v3 3/9] PCI: endpoint: pci-epf-test: Use dmaenigne_prep_config_single() to simplify code Frank Li
2026-01-17 10:57 ` Manivannan Sadhasivam
2026-01-05 22:46 ` [PATCH v3 4/9] dmaengine: dw-edma: Use new .device_prep_config_sg() callback Frank Li
2026-01-05 22:46 ` [PATCH v3 5/9] dmaengine: dw-edma: Pass dma_slave_config to dw_edma_device_transfer() Frank Li
2026-01-05 22:46 ` Frank Li [this message]
2026-01-05 22:46 ` [PATCH v3 7/9] nvmet: pci-epf: Use dmaengine_prep_config_single_safe() API Frank Li
2026-01-05 22:46 ` [PATCH v3 8/9] PCI: epf-mhi: Use dmaengine_prep_config_single() to simplify code Frank Li
2026-01-17 11:03 ` Manivannan Sadhasivam
2026-01-05 22:46 ` [PATCH v3 9/9] crypto: atmel: Use dmaengine_prep_config_single() API Frank Li
2026-01-19 9:26 ` Nicolas Ferre
2026-01-12 13:01 ` [PATCH v3 0/9] dmaengine: Add new API to combine configuration and descriptor preparation Niklas Cassel
2026-01-17 11:05 ` Manivannan Sadhasivam
2026-01-17 11:34 ` Niklas Cassel
2026-01-21 16:30 ` Frank Li
2026-01-30 19:19 ` Frank Li
2026-02-25 22:49 ` Niklas Cassel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260105-dma_prep_config-v3-6-a8480362fd42@nxp.com \
--to=frank.li@nxp.com \
--cc=alexandre.belloni@bootlin.com \
--cc=bhelgaas@google.com \
--cc=cassel@kernel.org \
--cc=claudiu.beznea@tuxon.dev \
--cc=davem@davemloft.net \
--cc=den@valinux.co.jp \
--cc=dlemoal@kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=hch@lst.de \
--cc=herbert@gondor.apana.org.au \
--cc=imx@lists.linux.dev \
--cc=kch@nvidia.com \
--cc=kishon@kernel.org \
--cc=kwilczynski@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=linux-pci@vger.kernel.org \
--cc=mani@kernel.org \
--cc=mhi@lists.linux.dev \
--cc=nicolas.ferre@microchip.com \
--cc=sagi@grimberg.me \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®