Messages in this thread | | | Date | Thu, 24 Aug 2023 10:10:20 +0100 | Subject | Re: [PATCH next] i2c: qcom-cci: Fix error checking in cci_probe() | From | Bryan O'Donoghue <> |
| |
On 23/08/2023 20:42, Harshit Mogalapalli wrote: > devm_clk_bulk_get_all() can return zero when no clocks are obtained. > Passing zero to dev_err_probe() is a success which is incorrect. > > Fixes: 605efbf43813 ("i2c: qcom-cci: Use dev_err_probe in probe function") > Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com> > --- > Only compile tested, found by static analysis with smatch. > > https://lore.kernel.org/all/CAA8EJprTOjbOy7N5+8NiJaNNhK+_btdUUFcpHKPkMuCZj5umMA@mail.gmail.com/ > ^^ I reported initially here, Dmitry suggested we need to fix it in a > different patch. > > the Fixes commit used above pointed this bug, but the real fixes tag is this: > Fixes: e517526195de ("i2c: Add Qualcomm CCI I2C driver") > --- > drivers/i2c/busses/i2c-qcom-cci.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/i2c/busses/i2c-qcom-cci.c b/drivers/i2c/busses/i2c-qcom-cci.c > index cf13abec05f1..414882c57d7f 100644 > --- a/drivers/i2c/busses/i2c-qcom-cci.c > +++ b/drivers/i2c/busses/i2c-qcom-cci.c > @@ -588,8 +588,10 @@ static int cci_probe(struct platform_device *pdev) > /* Clocks */ > > ret = devm_clk_bulk_get_all(dev, &cci->clocks); > - if (ret < 1) > + if (ret < 0) > return dev_err_probe(dev, ret, "failed to get clocks\n"); > + else if (!ret) > + return dev_err_probe(dev, -EINVAL, "not enough clocks in DT\n"); > cci->nclocks = ret; > > /* Retrieve CCI clock rate */ Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
| |