Re: [PATCH 11/19] clocksource: fix __ftm_clk_init result

From: Andrzej Hajda
Date: Mon Dec 14 2015 - 05:35:32 EST


Hi,

Ping.

Regards
Andrzej

On 09/24/2015 04:00 PM, Andrzej Hajda wrote:
> The function tries to return clock frequency (unsigned long) or error
> (int < 0). Using int as a result could be dangerous. On the other side
> caller is not interested in error value, so the best solution is to
> return frequency or zero in case of error, for this unsigned long is OK.
>
> The problem has been detected using proposed semantic patch
> scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1].
>
> [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107
>
> Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx>
> ---
> Hi,
>
> To avoid problems with too many mail recipients I have sent whole
> patchset only to LKML. Anyway patches have no dependencies.
>
> Regards
> Andrzej
> ---
> drivers/clocksource/fsl_ftm_timer.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/clocksource/fsl_ftm_timer.c b/drivers/clocksource/fsl_ftm_timer.c
> index ef43469..11a7ae7 100644
> --- a/drivers/clocksource/fsl_ftm_timer.c
> +++ b/drivers/clocksource/fsl_ftm_timer.c
> @@ -248,7 +248,7 @@ static int __init ftm_clocksource_init(unsigned long freq)
> return 0;
> }
>
> -static int __init __ftm_clk_init(struct device_node *np, char *cnt_name,
> +static unsigned long __init __ftm_clk_init(struct device_node *np, char *cnt_name,
> char *ftm_name)
> {
> struct clk *clk;
> @@ -257,19 +257,19 @@ static int __init __ftm_clk_init(struct device_node *np, char *cnt_name,
> clk = of_clk_get_by_name(np, cnt_name);
> if (IS_ERR(clk)) {
> pr_err("ftm: Cannot get \"%s\": %ld\n", cnt_name, PTR_ERR(clk));
> - return PTR_ERR(clk);
> + return 0;
> }
> err = clk_prepare_enable(clk);
> if (err) {
> pr_err("ftm: clock failed to prepare+enable \"%s\": %d\n",
> cnt_name, err);
> - return err;
> + return 0;
> }
>
> clk = of_clk_get_by_name(np, ftm_name);
> if (IS_ERR(clk)) {
> pr_err("ftm: Cannot get \"%s\": %ld\n", ftm_name, PTR_ERR(clk));
> - return PTR_ERR(clk);
> + return 0;
> }
> err = clk_prepare_enable(clk);
> if (err)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/