drivers/usb/dwc3/dwc3-qcom.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
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
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
© 2016 - 2026 Red Hat, Inc.