All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Hodges <git@danielhodges.dev>
To: mani@kernel.org, kwilczynski@kernel.org
Cc: kishon@kernel.org, bhelgaas@google.com, mhi@lists.linux.dev,
	linux-arm-msm@vger.kernel.org, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Daniel Hodges <git@danielhodges.dev>
Subject: [PATCH] PCI: epf-mhi: return 0 on success instead of positive jiffies
Date: Fri,  6 Feb 2026 15:05:29 -0500	[thread overview]
Message-ID: <20260206200529.10784-1-git@danielhodges.dev> (raw)

wait_for_completion_timeout() returns the number of jiffies remaining
on success (positive value) or 0 on timeout. The pci_epf_mhi_edma_read()
and pci_epf_mhi_edma_write() functions use the return value directly as
their own return value, only converting timeout (0) to -ETIMEDOUT.

On success, they return the positive jiffies value. The callers in
drivers/bus/mhi/ep/ring.c check for errors with "if (ret < 0)" for
read_sync and "if (ret)" for write_sync. This causes write_sync success
cases to be incorrectly treated as errors since the positive jiffies
value is non-zero.

Fix by setting ret to 0 when wait_for_completion_timeout() succeeds.

Fixes: 7b99aaaddabb ("PCI: epf-mhi: Add eDMA support")
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Hodges <git@danielhodges.dev>
---
 drivers/pci/endpoint/functions/pci-epf-mhi.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/pci/endpoint/functions/pci-epf-mhi.c b/drivers/pci/endpoint/functions/pci-epf-mhi.c
index 6643a88c7a0c..2f077d0b7957 100644
--- a/drivers/pci/endpoint/functions/pci-epf-mhi.c
+++ b/drivers/pci/endpoint/functions/pci-epf-mhi.c
@@ -367,6 +367,8 @@ static int pci_epf_mhi_edma_read(struct mhi_ep_cntrl *mhi_cntrl,
 		dev_err(dev, "DMA transfer timeout\n");
 		dmaengine_terminate_sync(chan);
 		ret = -ETIMEDOUT;
+	} else {
+		ret = 0;
 	}
 
 err_unmap:
@@ -438,6 +440,8 @@ static int pci_epf_mhi_edma_write(struct mhi_ep_cntrl *mhi_cntrl,
 		dev_err(dev, "DMA transfer timeout\n");
 		dmaengine_terminate_sync(chan);
 		ret = -ETIMEDOUT;
+	} else {
+		ret = 0;
 	}
 
 err_unmap:
-- 
2.52.0


             reply	other threads:[~2026-02-06 20:05 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-06 20:05 Daniel Hodges [this message]
2026-02-09  5:06 ` [PATCH] PCI: epf-mhi: return 0 on success instead of positive jiffies Krishna Chaitanya Chundru
2026-02-26  7:20 ` Manivannan Sadhasivam
2026-02-27 19:15 ` Bjorn Helgaas
2026-03-02  5:54   ` Manivannan Sadhasivam
2026-03-02 14:59     ` Daniel Hodges

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=20260206200529.10784-1-git@danielhodges.dev \
    --to=git@danielhodges.dev \
    --cc=bhelgaas@google.com \
    --cc=kishon@kernel.org \
    --cc=kwilczynski@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=mani@kernel.org \
    --cc=mhi@lists.linux.dev \
    --cc=stable@vger.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.