Re: usb: gadget: fsl_udc_core: Checking for a failed platform_get_irq() call in fsl_udc_probe()
On Thu,Apr 9,2020 08:28:28 Markus Elfring wrote: > I was unsure if I noticed another programming mistake. > Do other contributors know the affected software module better than me? I discovered this problem fews days ago, and doing experiments on the hardware to test my idea. Thanks Tang Bin
Re: usb: gadget: fsl_udc_core: Checking for a failed platform_get_irq() call in fsl_udc_probe()
>> Would you like to reconsider the shown condition check? > > Thanks for the finding. This is truly a software issue that need to > be fixed. I was unsure if I noticed another programming mistake. > Would you submit a patch for it Do other contributors know the affected software module better than me? > or you want us to fix it? I would find it nice if another developer will convert the bug report into corresponding improvements. Regards, Markus
Re: usb: gadget: fsl_udc_core: Checking for a failed platform_get_irq() call in fsl_udc_probe()
On Wed, Apr 8, 2020 at 9:19 AM Markus Elfring 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
usb: gadget: fsl_udc_core: Checking for a failed platform_get_irq() call in fsl_udc_probe()
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? Regards, Markus