diff mbox series

usb: host: ehci-tegra: Fix error handling in tegra_ehci_probe()

Message ID 20201026090657.49988-1-tangbin@cmss.chinamobile.com
State New
Headers show
Series usb: host: ehci-tegra: Fix error handling in tegra_ehci_probe() | expand

Commit Message

Tang Bin Oct. 26, 2020, 9:06 a.m. UTC
If the function platform_get_irq() failed, the negative value
returned will not be detected here. So fix error handling in
tegra_ehci_probe().

Fixes: 79ad3b5add4a ("usb: host: Add EHCI driver for NVIDIA Tegra SoCs")
Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>
---
 drivers/usb/host/ehci-tegra.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Alan Stern Oct. 26, 2020, 3:05 p.m. UTC | #1
On Mon, Oct 26, 2020 at 05:06:57PM +0800, Tang Bin wrote:
> If the function platform_get_irq() failed, the negative value

> returned will not be detected here. So fix error handling in

> tegra_ehci_probe().

> 

> Fixes: 79ad3b5add4a ("usb: host: Add EHCI driver for NVIDIA Tegra SoCs")

> Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>

> ---

>  drivers/usb/host/ehci-tegra.c | 6 +++---

>  1 file changed, 3 insertions(+), 3 deletions(-)

> 

> diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c

> index 75a075daf..7b0efaf15 100644

> --- a/drivers/usb/host/ehci-tegra.c

> +++ b/drivers/usb/host/ehci-tegra.c

> @@ -479,9 +479,9 @@ static int tegra_ehci_probe(struct platform_device *pdev)

>  	u_phy->otg->host = hcd_to_bus(hcd);

>  

>  	irq = platform_get_irq(pdev, 0);

> -	if (!irq) {

> -		err = -ENODEV;

> -		goto cleanup_phy;

> +	if (irq < 0) {

> +		err = irq;

> +		goto cleanup_phy;

>  	}

>  

>  	otg_set_host(u_phy->otg, &hcd->self);


Acked-by: Alan Stern <stern@rowland.harvard.edu>


The "if (!irq)" statement occurs at least one other driver in this 
directory.  Would you like to submit a patch for ehci-xilinx-of.c as 
well?

Alan Stern
Tang Bin Oct. 27, 2020, 1:12 a.m. UTC | #2
在 2020/10/26 23:05, Alan Stern 写道:
> On Mon, Oct 26, 2020 at 05:06:57PM +0800, Tang Bin wrote:

>> If the function platform_get_irq() failed, the negative value

>> returned will not be detected here. So fix error handling in

>> tegra_ehci_probe().

>>

>> Fixes: 79ad3b5add4a ("usb: host: Add EHCI driver for NVIDIA Tegra SoCs")

>> Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>

>> ---

>>   drivers/usb/host/ehci-tegra.c | 6 +++---

>>   1 file changed, 3 insertions(+), 3 deletions(-)

>>

>> diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c

>> index 75a075daf..7b0efaf15 100644

>> --- a/drivers/usb/host/ehci-tegra.c

>> +++ b/drivers/usb/host/ehci-tegra.c

>> @@ -479,9 +479,9 @@ static int tegra_ehci_probe(struct platform_device *pdev)

>>   	u_phy->otg->host = hcd_to_bus(hcd);

>>   

>>   	irq = platform_get_irq(pdev, 0);

>> -	if (!irq) {

>> -		err = -ENODEV;

>> -		goto cleanup_phy;

>> +	if (irq < 0) {

>> +		err = irq;

>> +		goto cleanup_phy;

>>   	}

>>   

>>   	otg_set_host(u_phy->otg, &hcd->self);

> Acked-by: Alan Stern <stern@rowland.harvard.edu>

>

> The "if (!irq)" statement occurs at least one other driver in this

> directory.  Would you like to submit a patch for ehci-xilinx-of.c as

> well?


OK, I will check this file out. Thanks!

Tang Bin
Thierry Reding Oct. 27, 2020, 1:03 p.m. UTC | #3
On Mon, Oct 26, 2020 at 05:06:57PM +0800, Tang Bin wrote:
> If the function platform_get_irq() failed, the negative value

> returned will not be detected here. So fix error handling in

> tegra_ehci_probe().

> 

> Fixes: 79ad3b5add4a ("usb: host: Add EHCI driver for NVIDIA Tegra SoCs")

> Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>

> ---

>  drivers/usb/host/ehci-tegra.c | 6 +++---

>  1 file changed, 3 insertions(+), 3 deletions(-)

> 

> diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c

> index 75a075daf..7b0efaf15 100644

> --- a/drivers/usb/host/ehci-tegra.c

> +++ b/drivers/usb/host/ehci-tegra.c

> @@ -479,9 +479,9 @@ static int tegra_ehci_probe(struct platform_device *pdev)

>  	u_phy->otg->host = hcd_to_bus(hcd);

>  

>  	irq = platform_get_irq(pdev, 0);

> -	if (!irq) {

> -		err = -ENODEV;

> -		goto cleanup_phy;

> +	if (irq < 0) {

> +		err = irq;

> +		goto cleanup_phy;

>  	}

>  

>  	otg_set_host(u_phy->otg, &hcd->self);


Acked-by: Thierry Reding <treding@nvidia.com>
diff mbox series

Patch

diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index 75a075daf..7b0efaf15 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -479,9 +479,9 @@  static int tegra_ehci_probe(struct platform_device *pdev)
 	u_phy->otg->host = hcd_to_bus(hcd);
 
 	irq = platform_get_irq(pdev, 0);
-	if (!irq) {
-		err = -ENODEV;
-		goto cleanup_phy;
+	if (irq < 0) {
+		err = irq;
+		goto cleanup_phy;
 	}
 
 	otg_set_host(u_phy->otg, &hcd->self);