lkml.org 
[lkml]   [2020]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 202/312] clk: st: avoid uninitialized variable use
    Date
    From: Arnd Bergmann <arnd@arndb.de>

    commit 2dd52d7f6f9d9d03a82a68040ac3d221dd79af94 upstream.

    quadfs_pll_fs660c32_round_rate prints a few structure members
    that are never initialized, and also doesn't print the only one
    it cares about. We get a gcc warning about the ones that
    are printed:

    clk/st/clkgen-fsyn.c:560:93: warning: 'params.sdiv' may be used uninitialized in this function
    clk/st/clkgen-fsyn.c:560:93: warning: 'params.mdiv' may be used uninitialized in this function
    clk/st/clkgen-fsyn.c:560:93: warning: 'params.pe' may be used uninitialized in this function
    clk/st/clkgen-fsyn.c:560:93: warning: 'params.nsdiv' may be used uninitialized in this function

    This changes the code to no longer print uninitialized data, and
    for good measure it also prints the ndiv member that is being
    set.

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Fixes: 5f7aa9071e93 ("clk: st: Support for QUADFS inside ClockGenB/C/D/E/F")
    Acked-by: Gabriel Fernandez <gabriel.fernandez@linaro.org>
    Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/clk/st/clkgen-fsyn.c | 17 +++++++++--------
    1 file changed, 9 insertions(+), 8 deletions(-)

    --- a/drivers/clk/st/clkgen-fsyn.c
    +++ b/drivers/clk/st/clkgen-fsyn.c
    @@ -549,19 +549,20 @@ static int clk_fs660c32_vco_get_params(u
    return 0;
    }

    -static long quadfs_pll_fs660c32_round_rate(struct clk_hw *hw, unsigned long rate
    - , unsigned long *prate)
    +static long quadfs_pll_fs660c32_round_rate(struct clk_hw *hw,
    + unsigned long rate,
    + unsigned long *prate)
    {
    struct stm_fs params;

    - if (!clk_fs660c32_vco_get_params(*prate, rate, &params))
    - clk_fs660c32_vco_get_rate(*prate, &params, &rate);
    + if (clk_fs660c32_vco_get_params(*prate, rate, &params))
    + return rate;

    - pr_debug("%s: %s new rate %ld [sdiv=0x%x,md=0x%x,pe=0x%x,nsdiv3=%u]\n",
    + clk_fs660c32_vco_get_rate(*prate, &params, &rate);
    +
    + pr_debug("%s: %s new rate %ld [ndiv=%u]\n",
    __func__, clk_hw_get_name(hw),
    - rate, (unsigned int)params.sdiv,
    - (unsigned int)params.mdiv,
    - (unsigned int)params.pe, (unsigned int)params.nsdiv);
    + rate, (unsigned int)params.ndiv);

    return rate;
    }

    \
     
     \ /
      Last update: 2020-05-08 15:17    [W:4.528 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site