[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b9d7f990-112a-4cde-8f04-6f8c6cb96f9e@linaro.org>
Date: Wed, 30 Oct 2024 08:12:26 +0000
From: Tudor Ambarus <tudor.ambarus@...aro.org>
To: Peter Griffin <peter.griffin@...aro.org>, alim.akhtar@...sung.com,
James.Bottomley@...senPartnership.com, martin.petersen@...cle.com,
avri.altman@....com, bvanassche@....org, krzk@...nel.org
Cc: andre.draszik@...aro.org, kernel-team@...roid.com,
willmcvicker@...gle.com, linux-scsi@...r.kernel.org,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, linux-kernel@...r.kernel.org,
ebiggers@...nel.org
Subject: Re: [PATCH v2 02/11] scsi: ufs: exynos: add check inside
exynos_ufs_config_smu()
On 10/25/24 2:14 PM, Peter Griffin wrote:
> Move the EXYNOS_UFS_OPT_UFSPR_SECURE check inside exynos_ufs_config_smu().
>
> This way all call sites will benefit from the check. This fixes a bug
> currently in the exynos_ufs_resume() path on gs101 which will cause
> a serror.
because resume() calls exynos_ufs_config_smu() and we ended up accessing
register fields that we shouldn't have.
>
> Fixes: d11e0a318df8 ("scsi: ufs: exynos: Add support for Tensor gs101 SoC")
Cc: stable@...r.kernel.org
Reviewed-by: Tudor Ambarus <tudor.ambarus@...aro.org>
> Signed-off-by: Peter Griffin <peter.griffin@...aro.org>
> ---
> drivers/ufs/host/ufs-exynos.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c
> index e25de4b86ac0..939d08bce545 100644
> --- a/drivers/ufs/host/ufs-exynos.c
> +++ b/drivers/ufs/host/ufs-exynos.c
> @@ -724,6 +724,9 @@ static void exynos_ufs_config_smu(struct exynos_ufs *ufs)
> {
> u32 reg, val;
>
> + if (ufs->opts & EXYNOS_UFS_OPT_UFSPR_SECURE)
> + return;
> +
> exynos_ufs_disable_auto_ctrl_hcc_save(ufs, &val);
>
> /* make encryption disabled by default */
> @@ -1457,8 +1460,8 @@ static int exynos_ufs_init(struct ufs_hba *hba)
> if (ret)
> goto out;
> exynos_ufs_specify_phy_time_attr(ufs);
> - if (!(ufs->opts & EXYNOS_UFS_OPT_UFSPR_SECURE))
> - exynos_ufs_config_smu(ufs);
> +
> + exynos_ufs_config_smu(ufs);
>
> hba->host->dma_alignment = DATA_UNIT_SIZE - 1;
> return 0;
Powered by blists - more mailing lists