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

From: Li Yang
Date: Wed Apr 08 2020 - 18:47:19 EST


On Wed, Apr 8, 2020 at 9:19 AM Markus Elfring <Markus.Elfring@xxxxxx> 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