Re: [PATCH v3] usb: dwc3: qcom: simplify error check in dwc3_qcom_find_num_ports()
From: Thinh Nguyen
Date: Wed Feb 25 2026 - 21:14:56 EST
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@xxxxxxxxx>
> ---
> 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@xxxxxxxxxxxx>
BR,
Thinh