[PATCH v3] usb: dwc3: qcom: simplify error check in dwc3_qcom_find_num_ports()

Zeeshan Ahmad posted 1 patch 1 month ago
drivers/usb/dwc3/dwc3-qcom.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH v3] usb: dwc3: qcom: simplify error check in dwc3_qcom_find_num_ports()
Posted by Zeeshan Ahmad 1 month ago
The platform_get_irq_byname_optional() function returns a non-zero
IRQ number on success and a negative error code on failure. It
never returns zero.

The current implementation in the modern dwc3-qcom driver checks for
a return value less than or equal to zero. Since zero is not a
valid return value, simplify the check to only look for negative
error codes. This aligns the logic with the standard return contract
of the platform IRQ APIs.

Signed-off-by: Zeeshan Ahmad <zeeshanahmad022019@gmail.com>
---
v3:
 - Fix missing version changelog in the v2 submission.
v2:
 - Targeted the modern dwc3-qcom.c driver instead of the legacy one 
   as suggested by Thinh Nguyen.
 - Audited the modern driver to confirm the same redundant error 
   check exists there.
 - Updated the commit message to specifically mention the modern 
   dwc3-qcom driver.

 drivers/usb/dwc3/dwc3-qcom.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
index 9ac75547820d..f43f73ac36ff 100644
--- a/drivers/usb/dwc3/dwc3-qcom.c
+++ b/drivers/usb/dwc3/dwc3-qcom.c
@@ -526,14 +526,14 @@ static int dwc3_qcom_find_num_ports(struct platform_device *pdev)
 	int irq;
 
 	irq = platform_get_irq_byname_optional(pdev, "dp_hs_phy_1");
-	if (irq <= 0)
+	if (irq < 0)
 		return 1;
 
 	for (port_num = 2; port_num <= DWC3_QCOM_MAX_PORTS; port_num++) {
 		sprintf(irq_name, "dp_hs_phy_%d", port_num);
 
 		irq = platform_get_irq_byname_optional(pdev, irq_name);
-		if (irq <= 0)
+		if (irq < 0)
 			return port_num - 1;
 	}
 
-- 
2.43.0
Re: [PATCH v3] usb: dwc3: qcom: simplify error check in dwc3_qcom_find_num_ports()
Posted by Thinh Nguyen 1 month ago
On Wed, Feb 25, 2026, Zeeshan Ahmad wrote:
> The platform_get_irq_byname_optional() function returns a non-zero
> IRQ number on success and a negative error code on failure. It
> never returns zero.
> 
> The current implementation in the modern dwc3-qcom driver checks for
> a return value less than or equal to zero. Since zero is not a
> valid return value, simplify the check to only look for negative
> error codes. This aligns the logic with the standard return contract
> of the platform IRQ APIs.
> 
> Signed-off-by: Zeeshan Ahmad <zeeshanahmad022019@gmail.com>
> ---
> v3:
>  - Fix missing version changelog in the v2 submission.
> v2:
>  - Targeted the modern dwc3-qcom.c driver instead of the legacy one 
>    as suggested by Thinh Nguyen.
>  - Audited the modern driver to confirm the same redundant error 
>    check exists there.
>  - Updated the commit message to specifically mention the modern 
>    dwc3-qcom driver.
> 
>  drivers/usb/dwc3/dwc3-qcom.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
> index 9ac75547820d..f43f73ac36ff 100644
> --- a/drivers/usb/dwc3/dwc3-qcom.c
> +++ b/drivers/usb/dwc3/dwc3-qcom.c
> @@ -526,14 +526,14 @@ static int dwc3_qcom_find_num_ports(struct platform_device *pdev)
>  	int irq;
>  
>  	irq = platform_get_irq_byname_optional(pdev, "dp_hs_phy_1");
> -	if (irq <= 0)
> +	if (irq < 0)
>  		return 1;
>  
>  	for (port_num = 2; port_num <= DWC3_QCOM_MAX_PORTS; port_num++) {
>  		sprintf(irq_name, "dp_hs_phy_%d", port_num);
>  
>  		irq = platform_get_irq_byname_optional(pdev, irq_name);
> -		if (irq <= 0)
> +		if (irq < 0)
>  			return port_num - 1;
>  	}
>  
> -- 
> 2.43.0
> 

Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>

BR,
Thinh