On 12/24/18 8:00 PM, Aditya Pakki wrote: > Currently, vc5_pll_recalc_rate() may produce incorrect output when > regmap_bulk_read() fails. The fix checks the return value of the > latter function and returns 0 in case of failure. > > Signed-off-by: Aditya Pakki <pakki...@umn.edu> > --- > drivers/clk/clk-versaclock5.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/clk/clk-versaclock5.c b/drivers/clk/clk-versaclock5.c > index decffb3826ec..cd76a893c594 100644 > --- a/drivers/clk/clk-versaclock5.c > +++ b/drivers/clk/clk-versaclock5.c > @@ -413,7 +413,8 @@ static unsigned long vc5_pll_recalc_rate(struct clk_hw > *hw, > u32 div_int, div_frc; > u8 fb[5]; > > - regmap_bulk_read(vc5->regmap, VC5_FEEDBACK_INT_DIV, fb, 5); > + if (regmap_bulk_read(vc5->regmap, VC5_FEEDBACK_INT_DIV, fb, 5)) > + return 0;
Shouldn't this return ret on failure ? > div_int = (fb[0] << 4) | (fb[1] >> 4); > div_frc = (fb[2] << 16) | (fb[3] << 8) | fb[4]; > -- Best regards, Marek Vasut