[PATCH 3/3] hwrng: mxc-fsl - add support for Freescale RNGC
Uwe Kleine-König
u.kleine-koenig at pengutronix.de
Mon Feb 29 13:38:50 PST 2016
On Mon, Feb 29, 2016 at 06:16:50PM -0300, Fabio Estevam wrote:
> On Mon, Feb 29, 2016 at 12:52 PM, Steffen Trumtrar
> <s.trumtrar at pengutronix.de> wrote:
>
> > + ret = clk_prepare_enable(rngc->clk);
> > + if (ret)
> > + return ret;
> > +
> > + rngc->irq = platform_get_irq(pdev, 0);
> > + if (!rngc->irq) {
> > + dev_err(&pdev->dev, "FSL RNGC couldn't get irq\n");
> > + clk_disable_unprepare(rngc->clk);
> > +
> > + return ret;
>
> You are returning the wrong error code here:
>
> Better do like this:
>
> rngc->irq = platform_get_irq(pdev, 0);
> if (rngc->irq < 0) {
rngc->irq is unsigned, so this is never true.
> dev_err(&pdev->dev, "FSL RNGC couldn't get irq\n");
> clk_disable_unprepare(rngc->clk);
> return rngc->irq;
> }
So here comes my better approach:
ret = platform_get_irq(pdev, 0);
if (ret <= 0) {
if (ret == 0)
ret = -EINVAL;
dev_err(&pdev->dev, "FSL RNGC couldn't get irq\n");
clk_disable_unprepare(rngc->clk);
return ret;
}
rngc->irq = ret;
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
More information about the linux-arm-kernel
mailing list