[PATCH RESEND] mmc: sunxi: Check the value returned by clk_round_rate
Ulf Hansson
ulf.hansson at linaro.org
Wed Aug 24 02:32:26 PDT 2016
On 23 August 2016 at 10:51, Jean-Francois Moine <moinejf at free.fr> wrote:
> clk_round_rate() may return an error. Check it.
>
> Signed-off-by: Jean-Francois Moine <moinejf at free.fr>
> Acked-by: Maxime Ripard <maxime.ripard at free-electrons.com>
Thanks, applied for next!
For some reason this patch didn't go into the mmc patchtracker,
probably because you have several lists on cc. Future wise I guess
it's better if you have linux-mmc on the *to* list.
Kind regards
Uffe
> ---
> Rebase on linux-next
> ---
> drivers/mmc/host/sunxi-mmc.c | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
> index 2ec91ce..142ab3f 100644
> --- a/drivers/mmc/host/sunxi-mmc.c
> +++ b/drivers/mmc/host/sunxi-mmc.c
> @@ -692,7 +692,8 @@ static int sunxi_mmc_clk_set_phase(struct sunxi_mmc_host *host,
> static int sunxi_mmc_clk_set_rate(struct sunxi_mmc_host *host,
> struct mmc_ios *ios)
> {
> - u32 rate, rval, clock = ios->clock;
> + long rate;
> + u32 rval, clock = ios->clock;
> int ret;
>
> /* 8 bit DDR requires a higher module clock */
> @@ -701,13 +702,18 @@ static int sunxi_mmc_clk_set_rate(struct sunxi_mmc_host *host,
> clock <<= 1;
>
> rate = clk_round_rate(host->clk_mmc, clock);
> - dev_dbg(mmc_dev(host->mmc), "setting clk to %d, rounded %d\n",
> + if (rate < 0) {
> + dev_err(mmc_dev(host->mmc), "error rounding clk to %d: %ld\n",
> + clock, rate);
> + return rate;
> + }
> + dev_dbg(mmc_dev(host->mmc), "setting clk to %d, rounded %ld\n",
> clock, rate);
>
> /* setting clock rate */
> ret = clk_set_rate(host->clk_mmc, rate);
> if (ret) {
> - dev_err(mmc_dev(host->mmc), "error setting clk to %d: %d\n",
> + dev_err(mmc_dev(host->mmc), "error setting clk to %ld: %d\n",
> rate, ret);
> return ret;
> }
> --
> 2.9.3
>
More information about the linux-arm-kernel
mailing list