Quoting Aditya Pakki (2018-12-24 11:00:32) > 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;
There are a bunch of other regmap_*() APIs in here that "could fail". Why has this one been chosen but the other ones not?