Re: [PATCH] usb: host: ohci-pxa27x: propagate the irq error code

From: Alan Stern
Date: Thu Feb 18 2016 - 13:40:39 EST


On Sat, 13 Feb 2016, Robert Jarzmik wrote:

> In several drivers in the pxa architecture, it was found that the
> platform_get_irq() was not propagated. This breaks the the device-tree
> probe deferral path, if -EPROBE_DEFER is returned. Unfortunately, the
> error return in this case is transformed into -ENXIO, breaking the
> deferral mechanism.
>
> Even if in this specific case the driver was not broken, because the
> interrupt controller is always probed before drivers, propagate the
> proper return code.
>
> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx>

Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

> ---
> drivers/usb/host/ohci-pxa27x.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/host/ohci-pxa27x.c b/drivers/usb/host/ohci-pxa27x.c
> index e8c006e7a960..a667cf2d5788 100644
> --- a/drivers/usb/host/ohci-pxa27x.c
> +++ b/drivers/usb/host/ohci-pxa27x.c
> @@ -435,7 +435,7 @@ int usb_hcd_pxa27x_probe (const struct hc_driver *driver, struct platform_device
> irq = platform_get_irq(pdev, 0);
> if (irq < 0) {
> pr_err("no resource of IORESOURCE_IRQ");
> - return -ENXIO;
> + return irq;
> }
>
> usb_clk = devm_clk_get(&pdev->dev, NULL);
>