* [PATCH v2 01/10] usb: gadget: udc: bcm63xx: fix deferred probing
2021-12-08 19:21 [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers Sergey Shtylyov
@ 2021-12-08 19:21 ` Sergey Shtylyov
2021-12-08 19:21 ` [PATCH v2 02/10] usb: gadget: udc: gr: " Sergey Shtylyov
` (9 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:21 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Felipe Balbi
Cc: Kevin Cernekee, Florian Fainelli, bcm-kernel-feedback-list,
linux-arm-kernel
The driver overrides the error codes returned by platform_get_irq() to
-ENXIO for some strange reason, so if it returns -EPROBE_DEFER, the driver
will fail the probe permanently instead of the deferred probing. Switch to
propagating the error codes upstream.
Fixes: 613065e53cb1 ("usb: gadget: bcm63xx UDC driver")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
drivers/usb/gadget/udc/bcm63xx_udc.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/gadget/udc/bcm63xx_udc.c b/drivers/usb/gadget/udc/bcm63xx_udc.c
index a9f07c59fc37..2cdb07905bde 100644
--- a/drivers/usb/gadget/udc/bcm63xx_udc.c
+++ b/drivers/usb/gadget/udc/bcm63xx_udc.c
@@ -2321,8 +2321,10 @@ static int bcm63xx_udc_probe(struct platform_device *pdev)
/* IRQ resource #0: control interrupt (VBUS, speed, etc.) */
irq = platform_get_irq(pdev, 0);
- if (irq < 0)
+ if (irq < 0) {
+ rc = irq;
goto out_uninit;
+ }
if (devm_request_irq(dev, irq, &bcm63xx_udc_ctrl_isr, 0,
dev_name(dev), udc) < 0)
goto report_request_failure;
@@ -2330,8 +2332,10 @@ static int bcm63xx_udc_probe(struct platform_device *pdev)
/* IRQ resources #1-6: data interrupts for IUDMA channels 0-5 */
for (i = 0; i < BCM63XX_NUM_IUDMA; i++) {
irq = platform_get_irq(pdev, i + 1);
- if (irq < 0)
+ if (irq < 0) {
+ rc = irq;
goto out_uninit;
+ }
if (devm_request_irq(dev, irq, &bcm63xx_udc_data_isr, 0,
dev_name(dev), &udc->iudma[i]) < 0)
goto report_request_failure;
--
2.26.3
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 01/10] usb: gadget: udc: bcm63xx: fix deferred probing
@ 2021-12-08 19:21 ` Sergey Shtylyov
0 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:21 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Felipe Balbi
Cc: Kevin Cernekee, Florian Fainelli, bcm-kernel-feedback-list,
linux-arm-kernel
The driver overrides the error codes returned by platform_get_irq() to
-ENXIO for some strange reason, so if it returns -EPROBE_DEFER, the driver
will fail the probe permanently instead of the deferred probing. Switch to
propagating the error codes upstream.
Fixes: 613065e53cb1 ("usb: gadget: bcm63xx UDC driver")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
drivers/usb/gadget/udc/bcm63xx_udc.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/gadget/udc/bcm63xx_udc.c b/drivers/usb/gadget/udc/bcm63xx_udc.c
index a9f07c59fc37..2cdb07905bde 100644
--- a/drivers/usb/gadget/udc/bcm63xx_udc.c
+++ b/drivers/usb/gadget/udc/bcm63xx_udc.c
@@ -2321,8 +2321,10 @@ static int bcm63xx_udc_probe(struct platform_device *pdev)
/* IRQ resource #0: control interrupt (VBUS, speed, etc.) */
irq = platform_get_irq(pdev, 0);
- if (irq < 0)
+ if (irq < 0) {
+ rc = irq;
goto out_uninit;
+ }
if (devm_request_irq(dev, irq, &bcm63xx_udc_ctrl_isr, 0,
dev_name(dev), udc) < 0)
goto report_request_failure;
@@ -2330,8 +2332,10 @@ static int bcm63xx_udc_probe(struct platform_device *pdev)
/* IRQ resources #1-6: data interrupts for IUDMA channels 0-5 */
for (i = 0; i < BCM63XX_NUM_IUDMA; i++) {
irq = platform_get_irq(pdev, i + 1);
- if (irq < 0)
+ if (irq < 0) {
+ rc = irq;
goto out_uninit;
+ }
if (devm_request_irq(dev, irq, &bcm63xx_udc_data_isr, 0,
dev_name(dev), &udc->iudma[i]) < 0)
goto report_request_failure;
--
2.26.3
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 02/10] usb: gadget: udc: gr: fix deferred probing
2021-12-08 19:21 [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers Sergey Shtylyov
2021-12-08 19:21 ` Sergey Shtylyov
@ 2021-12-08 19:21 ` Sergey Shtylyov
2021-12-08 19:21 ` Sergey Shtylyov
` (8 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:21 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Felipe Balbi
The driver overrides the error codes and IRQ0 returned by platform_get_irq()
to -ENODEV, so if it returns -EPROBE_DEFER, the driver will fail the probe
permanently instead of the deferred probing. Switch to propagating the error
codes upstream. IRQ0 is no longer returned by platform_get_irq(), so we now
can safely ignore it...
Fixes: 196800da39a1 ("usb: gadget: gr_udc: Use platform_get_irq instead of irq_of_parse_and_map")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
Changes in version 2:
- updated the patch description on treating IRQ0.
drivers/usb/gadget/udc/gr_udc.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/usb/gadget/udc/gr_udc.c b/drivers/usb/gadget/udc/gr_udc.c
index 4b35739d3695..4aa5246a77e5 100644
--- a/drivers/usb/gadget/udc/gr_udc.c
+++ b/drivers/usb/gadget/udc/gr_udc.c
@@ -2136,15 +2136,15 @@ static int gr_probe(struct platform_device *pdev)
return PTR_ERR(regs);
dev->irq = platform_get_irq(pdev, 0);
- if (dev->irq <= 0)
- return -ENODEV;
+ if (dev->irq < 0)
+ return dev->irq;
/* Some core configurations has separate irqs for IN and OUT events */
dev->irqi = platform_get_irq(pdev, 1);
if (dev->irqi > 0) {
dev->irqo = platform_get_irq(pdev, 2);
- if (dev->irqo <= 0)
- return -ENODEV;
+ if (dev->irqo < 0)
+ return dev->irqo;
} else {
dev->irqi = 0;
}
--
2.26.3
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 03/10] usb: gadget: udc: pxa25x: fix deferred probing
2021-12-08 19:21 [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers Sergey Shtylyov
@ 2021-12-08 19:21 ` Sergey Shtylyov
2021-12-08 19:21 ` [PATCH v2 02/10] usb: gadget: udc: gr: " Sergey Shtylyov
` (9 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:21 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Felipe Balbi
Cc: Daniel Mack, Haojian Zhuang, Robert Jarzmik, linux-arm-kernel
The driver overrides the error codes returned by platform_get_irq() to
-ENODEV for some strange reason, so if it returns -EPROBE_DEFER, the driver
will fail the probe permanently instead of the deferred probing. Switch to
propagating the error codes upstream.
Fixes: 34ebcd28235d ("pxa2xx_udc: cleanups, use platform_get_irq")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
drivers/usb/gadget/udc/pxa25x_udc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/pxa25x_udc.c b/drivers/usb/gadget/udc/pxa25x_udc.c
index 52cdfd8212d6..b38747fd3bb0 100644
--- a/drivers/usb/gadget/udc/pxa25x_udc.c
+++ b/drivers/usb/gadget/udc/pxa25x_udc.c
@@ -2364,7 +2364,7 @@ static int pxa25x_udc_probe(struct platform_device *pdev)
irq = platform_get_irq(pdev, 0);
if (irq < 0)
- return -ENODEV;
+ return irq;
dev->regs = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(dev->regs))
--
2.26.3
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 03/10] usb: gadget: udc: pxa25x: fix deferred probing
@ 2021-12-08 19:21 ` Sergey Shtylyov
0 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:21 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Felipe Balbi
Cc: Daniel Mack, Haojian Zhuang, Robert Jarzmik, linux-arm-kernel
The driver overrides the error codes returned by platform_get_irq() to
-ENODEV for some strange reason, so if it returns -EPROBE_DEFER, the driver
will fail the probe permanently instead of the deferred probing. Switch to
propagating the error codes upstream.
Fixes: 34ebcd28235d ("pxa2xx_udc: cleanups, use platform_get_irq")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
drivers/usb/gadget/udc/pxa25x_udc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/pxa25x_udc.c b/drivers/usb/gadget/udc/pxa25x_udc.c
index 52cdfd8212d6..b38747fd3bb0 100644
--- a/drivers/usb/gadget/udc/pxa25x_udc.c
+++ b/drivers/usb/gadget/udc/pxa25x_udc.c
@@ -2364,7 +2364,7 @@ static int pxa25x_udc_probe(struct platform_device *pdev)
irq = platform_get_irq(pdev, 0);
if (irq < 0)
- return -ENODEV;
+ return irq;
dev->regs = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(dev->regs))
--
2.26.3
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 04/10] usb: host: ehci-atmel: fix deferred probing
2021-12-08 19:21 [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers Sergey Shtylyov
@ 2021-12-08 19:21 ` Sergey Shtylyov
2021-12-08 19:21 ` [PATCH v2 02/10] usb: gadget: udc: gr: " Sergey Shtylyov
` (9 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:21 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Alan Stern
Cc: Nicolas Ferre, Alexandre Belloni, Ludovic Desroches, linux-arm-kernel
The driver overrides the error codes and IRQ0 returned by platform_get_irq()
to -ENODEV, so if it returns -EPROBE_DEFER, the driver will fail the probe
permanently instead of the deferred probing. Switch to propagating the error
codes upstream. IRQ0 is no longer returned by platform_get_irq(), so we now
can safely ignore it...
Fixes: 501c9c0802d9 ("USB: at91: Add USB EHCI driver for at91sam9g45 series")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
Changes in version 2:
- removed the check for IRQ0, updated the patch description accordingly.
drivers/usb/host/ehci-atmel.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
index 05d41fd65f25..bc3fdb588e6b 100644
--- a/drivers/usb/host/ehci-atmel.c
+++ b/drivers/usb/host/ehci-atmel.c
@@ -104,8 +104,8 @@ static int ehci_atmel_drv_probe(struct platform_device *pdev)
pr_debug("Initializing Atmel-SoC USB Host Controller\n");
irq = platform_get_irq(pdev, 0);
- if (irq <= 0) {
- retval = -ENODEV;
+ if (irq < 0) {
+ retval = irq;
goto fail_create_hcd;
}
--
2.26.3
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 04/10] usb: host: ehci-atmel: fix deferred probing
@ 2021-12-08 19:21 ` Sergey Shtylyov
0 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:21 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Alan Stern
Cc: Alexandre Belloni, Ludovic Desroches, linux-arm-kernel
The driver overrides the error codes and IRQ0 returned by platform_get_irq()
to -ENODEV, so if it returns -EPROBE_DEFER, the driver will fail the probe
permanently instead of the deferred probing. Switch to propagating the error
codes upstream. IRQ0 is no longer returned by platform_get_irq(), so we now
can safely ignore it...
Fixes: 501c9c0802d9 ("USB: at91: Add USB EHCI driver for at91sam9g45 series")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
Changes in version 2:
- removed the check for IRQ0, updated the patch description accordingly.
drivers/usb/host/ehci-atmel.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
index 05d41fd65f25..bc3fdb588e6b 100644
--- a/drivers/usb/host/ehci-atmel.c
+++ b/drivers/usb/host/ehci-atmel.c
@@ -104,8 +104,8 @@ static int ehci_atmel_drv_probe(struct platform_device *pdev)
pr_debug("Initializing Atmel-SoC USB Host Controller\n");
irq = platform_get_irq(pdev, 0);
- if (irq <= 0) {
- retval = -ENODEV;
+ if (irq < 0) {
+ retval = irq;
goto fail_create_hcd;
}
--
2.26.3
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 05/10] usb: host: ehci-orion: fix deferred probing
2021-12-08 19:21 [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers Sergey Shtylyov
` (3 preceding siblings ...)
2021-12-08 19:21 ` Sergey Shtylyov
@ 2021-12-08 19:21 ` Sergey Shtylyov
2021-12-08 19:21 ` [PATCH v2 06/10] usb: host: ehci-sh: " Sergey Shtylyov
` (5 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:21 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Alan Stern
The driver overrides the error codes and IRQ0 returned by platform_get_irq()
to -ENODEV, so if it returns -EPROBE_DEFER, the driver will fail the probe
permanently instead of the deferred probing. Switch to propagating the error
codes upstream. IRQ0 is no longer returned by platform_get_irq(), so we now
can safely ignore it...
Fixes: e96ffe2f9deb ("USB: add Marvell Orion USB host support")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
Changes in version 2:
- removed the check for IRQ0, updated the patch description accordingly.
drivers/usb/host/ehci-orion.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c
index 3626758b3e2a..36ea4febe29b 100644
--- a/drivers/usb/host/ehci-orion.c
+++ b/drivers/usb/host/ehci-orion.c
@@ -222,8 +222,8 @@ static int ehci_orion_drv_probe(struct platform_device *pdev)
pr_debug("Initializing Orion-SoC USB Host Controller\n");
irq = platform_get_irq(pdev, 0);
- if (irq <= 0) {
- err = -ENODEV;
+ if (irq < 0) {
+ err = irq;
goto err;
}
--
2.26.3
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 06/10] usb: host: ehci-sh: fix deferred probing
2021-12-08 19:21 [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers Sergey Shtylyov
` (4 preceding siblings ...)
2021-12-08 19:21 ` [PATCH v2 05/10] usb: host: ehci-orion: " Sergey Shtylyov
@ 2021-12-08 19:21 ` Sergey Shtylyov
2021-12-08 19:21 ` [PATCH v2 07/10] usb: host: ohci-da8xx: " Sergey Shtylyov
` (4 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:21 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Alan Stern
The driver overrides the error codes and IRQ0 returned by platform_get_irq()
to -ENODEV, so if it returns -EPROBE_DEFER, the driver will fail the probe
permanently instead of the deferred probing. Switch to propagating the error
codes upstream. IRQ0 is no longer returned by platform_get_irq(), so we now
can safely ignore it...
Fixes: 9ec36cafe43b ("of/irq: do irq resolution in platform_get_irq")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
Changes in version 2:
- removed the check for IRQ0, updated the patch description accordingly.
drivers/usb/host/ehci-sh.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/host/ehci-sh.c b/drivers/usb/host/ehci-sh.c
index c25c51d26f26..882231b5c382 100644
--- a/drivers/usb/host/ehci-sh.c
+++ b/drivers/usb/host/ehci-sh.c
@@ -82,8 +82,8 @@ static int ehci_hcd_sh_probe(struct platform_device *pdev)
return -ENODEV;
irq = platform_get_irq(pdev, 0);
- if (irq <= 0) {
- ret = -ENODEV;
+ if (irq < 0) {
+ ret = irq;
goto fail_create_hcd;
}
--
2.26.3
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 07/10] usb: host: ohci-da8xx: fix deferred probing
2021-12-08 19:21 [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers Sergey Shtylyov
` (5 preceding siblings ...)
2021-12-08 19:21 ` [PATCH v2 06/10] usb: host: ehci-sh: " Sergey Shtylyov
@ 2021-12-08 19:21 ` Sergey Shtylyov
2021-12-08 19:21 ` [PATCH v2 08/10] usb: host: ohci-nxp: " Sergey Shtylyov
` (3 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:21 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Alan Stern
The driver overrides the error codes returned by platform_get_irq() to
-ENODEV for some strange reason, so if it returns -EPROBE_DEFER, the driver
will fail the probe permanently instead of the deferred probing. Switch to
propagating the error codes upstream.
Fixes: efe7daf2231a ("USB: OHCI: DA8xx/OMAP-L1x glue layer")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
drivers/usb/host/ohci-da8xx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/host/ohci-da8xx.c b/drivers/usb/host/ohci-da8xx.c
index 1371b0c249ec..d1326c6ccade 100644
--- a/drivers/usb/host/ohci-da8xx.c
+++ b/drivers/usb/host/ohci-da8xx.c
@@ -446,7 +446,7 @@ static int ohci_da8xx_probe(struct platform_device *pdev)
hcd_irq = platform_get_irq(pdev, 0);
if (hcd_irq < 0) {
- error = -ENODEV;
+ error = hcd_irq;
goto err;
}
--
2.26.3
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 08/10] usb: host: ohci-nxp: fix deferred probing
2021-12-08 19:21 [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers Sergey Shtylyov
` (6 preceding siblings ...)
2021-12-08 19:21 ` [PATCH v2 07/10] usb: host: ohci-da8xx: " Sergey Shtylyov
@ 2021-12-08 19:21 ` Sergey Shtylyov
2021-12-08 19:21 ` [PATCH v2 09/10] usb: host: ohci-omap: " Sergey Shtylyov
` (2 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:21 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Alan Stern; +Cc: Vladimir Zapolskiy
The driver overrides the error codes returned by platform_get_irq() to
-ENXIO for some strange reason, so if it returns -EPROBE_DEFER, the driver
will fail the probe permanently instead of the deferred probing. Switch to
propagating the error codes upstream.
Fixes: 60bbfc84b6d9 ("USB OHCI controller support for PNX4008")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
Changes in version 2:
- refreshed the patch;
- removed the eliipsis in the patch description.
drivers/usb/host/ohci-nxp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/host/ohci-nxp.c b/drivers/usb/host/ohci-nxp.c
index 85878e8ad331..a84c5e714372 100644
--- a/drivers/usb/host/ohci-nxp.c
+++ b/drivers/usb/host/ohci-nxp.c
@@ -212,7 +212,7 @@ static int ohci_hcd_nxp_probe(struct platform_device *pdev)
irq = platform_get_irq(pdev, 0);
if (irq < 0) {
- ret = -ENXIO;
+ ret = irq;
goto fail_resource;
}
--
2.26.3
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 09/10] usb: host: ohci-omap: fix deferred probing
2021-12-08 19:21 [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers Sergey Shtylyov
` (7 preceding siblings ...)
2021-12-08 19:21 ` [PATCH v2 08/10] usb: host: ohci-nxp: " Sergey Shtylyov
@ 2021-12-08 19:21 ` Sergey Shtylyov
2021-12-08 19:53 ` Aaro Koskinen
2021-12-08 19:21 ` [PATCH v2 10/10] usb: musb: core: " Sergey Shtylyov
2021-12-09 9:23 ` [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers Sergey Shtylyov
10 siblings, 1 reply; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:21 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Alan Stern; +Cc: linux-omap
The driver overrides the error codes returned by platform_get_irq() to
-ENXIO for some strange reason, so if it returns -EPROBE_DEFER, the driver
will fail the probe permanently instead of the deferred probing. Switch to
propagating the error codes upstream.
Fixes: 60bbfc84b6d9 ("USB OHCI controller support for PNX4008")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
Changes in version 2:
- refreshed the patch.
drivers/usb/host/ohci-omap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/host/ohci-omap.c b/drivers/usb/host/ohci-omap.c
index ded9738392e4..45dcf8292072 100644
--- a/drivers/usb/host/ohci-omap.c
+++ b/drivers/usb/host/ohci-omap.c
@@ -306,7 +306,7 @@ static int ohci_hcd_omap_probe(struct platform_device *pdev)
irq = platform_get_irq(pdev, 0);
if (irq < 0) {
- retval = -ENXIO;
+ retval = irq;
goto err3;
}
retval = usb_add_hcd(hcd, irq, 0);
--
2.26.3
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v2 09/10] usb: host: ohci-omap: fix deferred probing
2021-12-08 19:21 ` [PATCH v2 09/10] usb: host: ohci-omap: " Sergey Shtylyov
@ 2021-12-08 19:53 ` Aaro Koskinen
2021-12-08 19:59 ` Sergey Shtylyov
0 siblings, 1 reply; 17+ messages in thread
From: Aaro Koskinen @ 2021-12-08 19:53 UTC (permalink / raw)
To: Sergey Shtylyov; +Cc: linux-usb, Greg Kroah-Hartman, Alan Stern, linux-omap
On Wed, Dec 08, 2021 at 10:21:17PM +0300, Sergey Shtylyov wrote:
> The driver overrides the error codes returned by platform_get_irq() to
> -ENXIO for some strange reason, so if it returns -EPROBE_DEFER, the driver
> will fail the probe permanently instead of the deferred probing. Switch to
> propagating the error codes upstream.
>
> Fixes: 60bbfc84b6d9 ("USB OHCI controller support for PNX4008")
I don't see how this Fixes commit is related to OHCI OMAP?
A.
> Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
> ---
> Changes in version 2:
> - refreshed the patch.
>
> drivers/usb/host/ohci-omap.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/host/ohci-omap.c b/drivers/usb/host/ohci-omap.c
> index ded9738392e4..45dcf8292072 100644
> --- a/drivers/usb/host/ohci-omap.c
> +++ b/drivers/usb/host/ohci-omap.c
> @@ -306,7 +306,7 @@ static int ohci_hcd_omap_probe(struct platform_device *pdev)
>
> irq = platform_get_irq(pdev, 0);
> if (irq < 0) {
> - retval = -ENXIO;
> + retval = irq;
> goto err3;
> }
> retval = usb_add_hcd(hcd, irq, 0);
> --
> 2.26.3
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 09/10] usb: host: ohci-omap: fix deferred probing
2021-12-08 19:53 ` Aaro Koskinen
@ 2021-12-08 19:59 ` Sergey Shtylyov
0 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:59 UTC (permalink / raw)
To: Aaro Koskinen; +Cc: linux-usb, Greg Kroah-Hartman, Alan Stern, linux-omap
Hello!
On 12/8/21 10:53 PM, Aaro Koskinen wrote:
>> The driver overrides the error codes returned by platform_get_irq() to
>> -ENXIO for some strange reason, so if it returns -EPROBE_DEFER, the driver
>> will fail the probe permanently instead of the deferred probing. Switch to
>> propagating the error codes upstream.
>>
>> Fixes: 60bbfc84b6d9 ("USB OHCI controller support for PNX4008")
>
> I don't see how this Fixes commit is related to OHCI OMAP?
Argh, I missed this! :-(
The whole series should be discarded, as the patch #8 also doesn't have the valid
Fixes: tag, and I missed to add Alan's ACKs to patches #4..#9 too... :-/
> A.
>
>> Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
[...]
MBR, Sergey
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 10/10] usb: musb: core: fix deferred probing
2021-12-08 19:21 [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers Sergey Shtylyov
` (8 preceding siblings ...)
2021-12-08 19:21 ` [PATCH v2 09/10] usb: host: ohci-omap: " Sergey Shtylyov
@ 2021-12-08 19:21 ` Sergey Shtylyov
2021-12-09 9:23 ` [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers Sergey Shtylyov
10 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-08 19:21 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Bin Liu
The driver overrides the error codes returned by platform_get_irq() to
-ENODEV, so if it returns -EPROBE_DEFER, the driver will fail the probe
permanently instead of the deferred probing. Switch to propagating the
error codes upstream. IRQ0 is no longer returned by platform_get_irq(),
so we now can safely ignore it...
Fixes: 9ec36cafe43b ("of/irq: do irq resolution in platform_get_irq")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---
Changes in version 2:
- updated the patch description on treating IRQ0.
drivers/usb/musb/musb_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index f7b1d5993f8c..e57abc54d12b 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -2618,8 +2618,8 @@ static int musb_probe(struct platform_device *pdev)
int irq = platform_get_irq_byname(pdev, "mc");
void __iomem *base;
- if (irq <= 0)
- return -ENODEV;
+ if (irq < 0)
+ return irq;
base = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(base))
--
2.26.3
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers
2021-12-08 19:21 [PATCH v2 00/10] Fix deferred probing in the USB host/gadget drivers Sergey Shtylyov
` (9 preceding siblings ...)
2021-12-08 19:21 ` [PATCH v2 10/10] usb: musb: core: " Sergey Shtylyov
@ 2021-12-09 9:23 ` Sergey Shtylyov
10 siblings, 0 replies; 17+ messages in thread
From: Sergey Shtylyov @ 2021-12-09 9:23 UTC (permalink / raw)
To: linux-usb, Greg Kroah-Hartman, Felipe Balbi, Alan Stern, Bin Liu
On 08.12.2021 22:21, Sergey Shtylyov wrote:
> Here are 10 patches against the 'usb-linus' branch of Greg KH's 'usb.git'
> repo. The affected host/gadget drivers call platform_get_irq() but override
> its result in case of error which prevents the deferred probing from working.
> These patches now logically depend on the previously posted patch:
>
> https://marc.info/?l=linux-kernel&m=163623041902285
>
> Sergey Shtylyov (10):
> usb: gadget: udc: bcm63xx: fix deferred probing
> usb: gadget: udc: gr: fix deferred probing
> usb: gadget: udc: pxa25x: fix deferred probing
> usb: host: ehci-atmel: fix deferred probing
> usb: host: ehci-orion: fix deferred probing
> usb: host: ehci-sh: fix deferred probing
> usb: host: ohci-da8xx: fix deferred probing
> usb: host: ohci-nxp: fix deferred probing
> usb: host: ohci-omap: fix deferred probing
> usb: musb: core: fix deferred probing
Ignore this -- I totally forgot I had a feedback to v1. :-/
[...]
MBR, Sergey
^ permalink raw reply [flat|nested] 17+ messages in thread