diff mbox series

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

Message ID 20201026090657.49988-1-tangbin@cmss.chinamobile.com
State Deferred
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);