2024-04-03 03:43:57

by Chen Ni

[permalink] [raw]
Subject: [PATCH] ata: sata_gemini: Add check for clk_enable

As the potential failure of the clk_enable(), it should be better to
check it and return error if fails.

Signed-off-by: Chen Ni <[email protected]>
---
drivers/ata/sata_gemini.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/ata/sata_gemini.c b/drivers/ata/sata_gemini.c
index 400b22ee99c3..4c270999ba3c 100644
--- a/drivers/ata/sata_gemini.c
+++ b/drivers/ata/sata_gemini.c
@@ -200,7 +200,10 @@ int gemini_sata_start_bridge(struct sata_gemini *sg, unsigned int bridge)
pclk = sg->sata0_pclk;
else
pclk = sg->sata1_pclk;
- clk_enable(pclk);
+ ret = clk_enable(pclk);
+ if (ret)
+ return ret;
+
msleep(10);

/* Do not keep clocking a bridge that is not online */
--
2.25.1



2024-04-03 03:58:34

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH] ata: sata_gemini: Add check for clk_enable

On 4/3/24 12:43, Chen Ni wrote:
> As the potential failure of the clk_enable(), it should be better to
> check it and return error if fails.

Simplify please:

The call to clk_enable() in gemini_sata_start_bridge() can fail. Add a check to
detect such failure.

>
> Signed-off-by: Chen Ni <[email protected]>
> ---
> drivers/ata/sata_gemini.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/ata/sata_gemini.c b/drivers/ata/sata_gemini.c
> index 400b22ee99c3..4c270999ba3c 100644
> --- a/drivers/ata/sata_gemini.c
> +++ b/drivers/ata/sata_gemini.c
> @@ -200,7 +200,10 @@ int gemini_sata_start_bridge(struct sata_gemini *sg, unsigned int bridge)
> pclk = sg->sata0_pclk;
> else
> pclk = sg->sata1_pclk;
> - clk_enable(pclk);
> + ret = clk_enable(pclk);
> + if (ret)
> + return ret;
> +
> msleep(10);
>
> /* Do not keep clocking a bridge that is not online */

--
Damien Le Moal
Western Digital Research