[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240426104129.2211949-3-peter.griffin@linaro.org>
Date: Fri, 26 Apr 2024 11:41:29 +0100
From: Peter Griffin <peter.griffin@...aro.org>
To: vkoul@...nel.org,
kishon@...nel.org,
krzysztof.kozlowski@...aro.org
Cc: linux-phy@...ts.infradead.org,
linux-kernel@...r.kernel.org,
tudor.ambarus@...aro.org,
andre.draszik@...aro.org,
saravanak@...gle.com,
willmcvicker@...gle.com,
kernel-team@...roid.com,
Peter Griffin <peter.griffin@...aro.org>
Subject: [PATCH 2/2] phy: samsung-ufs: ufs: exit on first reported error
To preserve the err value, exit the loop immediately if an error
is returned.
Fixes: f2c6d0fa197a ("phy: samsung-ufs: use exynos_get_pmu_regmap_by_phandle() to obtain PMU regmap")
Signed-off-by: Peter Griffin <peter.griffin@...aro.org>
---
drivers/phy/samsung/phy-samsung-ufs.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/phy/samsung/phy-samsung-ufs.c b/drivers/phy/samsung/phy-samsung-ufs.c
index ffc46c953ed6..6c5d41552649 100644
--- a/drivers/phy/samsung/phy-samsung-ufs.c
+++ b/drivers/phy/samsung/phy-samsung-ufs.c
@@ -99,12 +99,18 @@ static int samsung_ufs_phy_calibrate(struct phy *phy)
for_each_phy_lane(ufs_phy, i) {
if (ufs_phy->ufs_phy_state == CFG_PRE_INIT &&
- ufs_phy->drvdata->wait_for_cal)
+ ufs_phy->drvdata->wait_for_cal) {
err = ufs_phy->drvdata->wait_for_cal(phy, i);
+ if (err)
+ goto out;
+ }
if (ufs_phy->ufs_phy_state == CFG_POST_PWR_HS &&
- ufs_phy->drvdata->wait_for_cdr)
+ ufs_phy->drvdata->wait_for_cdr) {
err = ufs_phy->drvdata->wait_for_cdr(phy, i);
+ if (err)
+ goto out;
+ }
}
/**
--
2.44.0.769.g3c40516874-goog
Powered by blists - more mailing lists