From nobody Sat Sep 26 23:52:57 2026 Received: from cstnet.cn (smtp81.cstnet.cn [159.226.251.81]) (using TLSv1.2 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DD49039A057; Fri, 28 Aug 2026 09:22:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.226.251.81 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908948; cv=none; b=RJScuTjI1k5GB0gZLG3qvwJBHhy+MOFtKvzTCn1Ft/kA7038eHnJ097oxDVuHnG+ov1b9x/E5t76Wk2N+rxWsCzsd9IH28uXbSAaQklXhFyRj2eKCVjRAZiyLBpc1K0585yW5nk+WPOFl199RwDmvY28HqofYa1rqT0tfo+/4po= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908948; c=relaxed/simple; bh=xGAczdk5GwJSEcskz8uGUkPJQJtEfqg+TDNnKhPmuFw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=nZb4kX2m2+h4cwQ9lTr5NMy+DYD90c1o6sWsZWCjCnHlxZyr2IwA7yl0yuYf6NXKiEjdbrnDP5xyu1j1031v8kwrrYYoacWn3Chfll2JBKFrt93xq4Ju32OfMQqyfD+G1pvghgq70XqL/0rPUgxiX3+NxvibXfHi7C1/dY7ZITI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn; spf=pass smtp.mailfrom=iscas.ac.cn; arc=none smtp.client-ip=159.226.251.81 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iscas.ac.cn Received: from localhost.localdomain (unknown [111.196.241.250]) by APP-03 (Coremail) with SMTP id rQCowAD3AUBHU5FqDFR1Bg--.64738S2; Fri, 28 Aug 2026 17:22:15 +0800 (CST) From: Pengpeng Hou To: Alim Akhtar , Peter Griffin Cc: Pengpeng Hou , "James E . J . Bottomley" , "Martin K . Petersen" , Krzysztof Kozlowski , linux-samsung-soc@vger.kernel.org, linux-scsi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] scsi: ufs: exynos: Propagate PHY power-on errors Date: Fri, 28 Aug 2026 17:22:13 +0800 Message-ID: <20260828092213.10127-1-pengpeng@iscas.ac.cn> X-Mailer: git-send-email 2.50.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: rQCowAD3AUBHU5FqDFR1Bg--.64738S2 X-Coremail-Antispam: 1UD129KBjvJXoW7Xw4fKr4fZFW8tF1rArWDJwb_yoW8JrW5pF s7Gr48Ar1kWay3JF40yF4YyFyfG397CrWUWrWxCas7Za4xCwnrK34vkFy3W3WDtFZ5Xw1j 9FW8J3WUXrsF9r7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUU9F14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U JVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E 2Ix0cI8IcVAFwI0_Jw0_WrylYx0Ex4A2jsIE14v26r4j6F4UMcvjeVCFs4IE7xkEbVWUJV W8JwACjcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2 Y2ka0xkIwI1lc7CjxVAaw2AFwI0_Jw0_GFyl42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x 0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2 zVAF1VAY17CE14v26r1q6r43MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_JFI_Gr 1lIxAIcVC0I7IYx2IY6xkF7I0E14v26F4j6r4UJwCI42IY6xAIw20EY4v20xvaj40_Jr0_ JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcS sGvfC2KfnxnUUI43ZEXa7VUbUPEDUUUUU== X-CM-SenderInfo: pshqw1xhqjqxpvfd2hldfou0/ Content-Type: text/plain; charset="utf-8" The Exynos UFS variant resume hook powers on the PHY when the link is inactive but ignores the result and continues with SMU and FMP restoration. Return the PHY error before touching the controller-specific state. The issue was identified via static analysis and manually reviewed. Fixes: 55f4b1f73631 ("scsi: ufs: ufs-exynos: Add UFS host support for Exyno= s SoCs") Assisted-by: LLM Signed-off-by: Pengpeng Hou --- drivers/ufs/host/ufs-exynos.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c index b2f65c465525..35fc0673fd03 100644 --- a/drivers/ufs/host/ufs-exynos.c +++ b/drivers/ufs/host/ufs-exynos.c @@ -1829,9 +1829,13 @@ static int exynos_ufs_suspend(struct ufs_hba *hba, e= num ufs_pm_op pm_op, static int exynos_ufs_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op) { struct exynos_ufs *ufs =3D ufshcd_get_variant(hba); + int ret; =20 - if (!ufshcd_is_link_active(hba)) - phy_power_on(ufs->phy); + if (!ufshcd_is_link_active(hba)) { + ret =3D phy_power_on(ufs->phy); + if (ret) + return ret; + } =20 exynos_ufs_config_smu(ufs); exynos_ufs_fmp_resume(hba); --=20 2.43.0