mmc: sdhci-s3c: Check if clk_set_rate() succeeds
Subsystems (4)
PATCH 1/1 mmc: sdhci-s3c: Check if clk_set_rate() succeeds
From: Mark Brown <[email protected]>
It is possible that we may fail to set the clock rate, if we do so then log the failure and don't bother reprogramming the IP.
Signed-off-by Mark Brown <[email protected]>
--- drivers/mmc/host/sdhci-s3c.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
drivers/mmc/host/sdhci-s3c.c +7 -1
@@ -295,6 +295,7 @@ static void sdhci_cmu_set_clock(struct sdhci_host *host, unsigned int clock)struct device *dev = &ourhost->pdev->dev;unsigned long timeout;u16 clk =0 ; +int ret;/* don't bother if the clock is going off */ if (clock ==0 )
@@ -302,7 +303,12 @@ static void sdhci_cmu_set_clock(struct sdhci_host *host, unsigned int clock)sdhci_s3c_set_clock (host, clock); -clk_set_rate (ourhost->clk_bus[ourhost->cur_clk], clock); + ret =clk_set_rate (ourhost->clk_bus[ourhost->cur_clk], clock); +if (ret !=0 ) { +dev_err (dev,"%s: failed to set clock rate %uHz\n" , +mmc_hostname (host->mmc), clock); +return ; + } host->clock = clock;
Signature · 1 line
1.8.4.rc3
Looks good to me.
Acked-by Jaehoon Chung <[email protected]>
Quoted 37 lines · Mark Brown
From: Mark Brown <[email protected]>
It is possible that we may fail to set the clock rate, if we do so then log the failure and don't bother reprogramming the IP.
Signed-off-by Mark Brown <[email protected]>--- drivers/mmc/host/sdhci-s3c.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)drivers/mmc/host/sdhci-s3c.c +7
-1@@ -295,6 +295,7 @@ static void sdhci_cmu_set_clock(struct sdhci_host *host, unsigned int clock)struct device *dev = &ourhost->pdev->dev;unsigned long timeout;u16 clk =0 ; +int ret;/* don't bother if the clock is going off */ if (clock ==0 )@@ -302,7 +303,12 @@ static void sdhci_cmu_set_clock(struct sdhci_host *host, unsigned int clock)sdhci_s3c_set_clock (host, clock); -clk_set_rate (ourhost->clk_bus[ourhost->cur_clk], clock); + ret =clk_set_rate (ourhost->clk_bus[ourhost->cur_clk], clock); +if (ret !=0 ) { +dev_err (dev,"%s: failed to set clock rate %uHz\n" , +mmc_hostname (host->mmc), clock); +return ; + } host->clock = clock;