usb: gadget: fsl_udc_core: Checking for a failed platform_get_irq() call in fsl_udc_probe()

Li Yang leoyang.li at nxp.com
Thu Apr 9 08:47:03 AEST 2020


On Wed, Apr 8, 2020 at 9:19 AM Markus Elfring <Markus.Elfring at web.de> wrote:
>
> Hello,
>
> I have taken another look at the implementation of the function “fsl_udc_probe”.
> A software analysis approach points the following source code out for
> further development considerations.
> https://elixir.bootlin.com/linux/v5.6.2/source/drivers/usb/gadget/udc/fsl_udc_core.c#L2443
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/usb/gadget/udc/fsl_udc_core.c?id=f5e94d10e4c468357019e5c28d48499f677b284f#n2442
>
>         udc_controller->irq = platform_get_irq(pdev, 0);
>         if (!udc_controller->irq) {
>                 ret = -ENODEV;
>                 goto err_iounmap;
>         }
>
>
> The software documentation is providing the following information
> for the used programming interface.
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/base/platform.c?id=f5e94d10e4c468357019e5c28d48499f677b284f#n221
> https://elixir.bootlin.com/linux/v5.6.2/source/drivers/base/platform.c#L202
>
> “…
>  * Return: IRQ number on success, negative error number on failure.
> …”
>
> Would you like to reconsider the shown condition check?

Thanks for the finding.  This is truly a software issue that need to
be fixed.  Would you submit a patch for it or you want us to fix it?

Regards,
Leo


More information about the Linuxppc-dev mailing list