clk_prepare() is called in usbtll_omap_probe to fill clk array. Return code is not checked, leaving possible error condition unhandled. Added variable to hold return value from clk_prepare() and return statement when it's not successful. Found in coverity scan, CID 1594680 Signed-off-by: Karol Przybylski <karprzy7@xxxxxxxxx> --- drivers/mfd/omap-usb-tll.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/mfd/omap-usb-tll.c b/drivers/mfd/omap-usb-tll.c index 0f7fdb99c809..28446b082c85 100644 --- a/drivers/mfd/omap-usb-tll.c +++ b/drivers/mfd/omap-usb-tll.c @@ -202,7 +202,7 @@ static int usbtll_omap_probe(struct platform_device *pdev) struct device *dev = &pdev->dev; struct usbtll_omap *tll; void __iomem *base; - int i, nch, ver; + int i, nch, ver, err; dev_dbg(dev, "starting TI HSUSB TLL Controller\n"); @@ -251,7 +251,11 @@ static int usbtll_omap_probe(struct platform_device *pdev) if (IS_ERR(tll->ch_clk[i])) dev_dbg(dev, "can't get clock : %s\n", clkname); else - clk_prepare(tll->ch_clk[i]); + err = clk_prepare(tll->ch_clk[i]); + if (err) { + dev_err(dev, "Unable to prepare clock\n"); + return err; + } } pm_runtime_put_sync(dev); -- 2.34.1