From: Dan Carpenter Date: Wed, 23 Apr 2025 08:23:53 +0000 (+0300) Subject: usb: dwc3: qcom: Fix error handling in probe X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=4c0fca65d10548f68c040ed49bf1860ce0dda9b9;p=users%2Fjedix%2Flinux-maple.git usb: dwc3: qcom: Fix error handling in probe There are two issues: 1) Return -EINVAL if platform_get_resource() fails. Don't return success. 2) The devm_ioremap() function doesn't return error pointers, it returns NULL. Update the check. Fixes: 1881a32fe14d ("usb: dwc3: qcom: Transition to flattened model") Signed-off-by: Dan Carpenter Reviewed-by: Bjorn Andersson Acked-by: Thinh Nguyen Link: https://lore.kernel.org/r/aAijmfAph0FlTqg6@stanley.mountain Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c index cbba11589cd0e..20c00ba3bc3d2 100644 --- a/drivers/usb/dwc3/dwc3-qcom.c +++ b/drivers/usb/dwc3/dwc3-qcom.c @@ -740,15 +740,17 @@ static int dwc3_qcom_probe(struct platform_device *pdev) } r = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!r) + if (!r) { + ret = -EINVAL; goto clk_disable; + } res = *r; res.end = res.start + SDM845_QSCRATCH_BASE_OFFSET; qcom->qscratch_base = devm_ioremap(dev, res.end, SDM845_QSCRATCH_SIZE); - if (IS_ERR(qcom->qscratch_base)) { - dev_err(dev, "failed to map qscratch region: %pe\n", qcom->qscratch_base); - ret = PTR_ERR(qcom->qscratch_base); + if (!qcom->qscratch_base) { + dev_err(dev, "failed to map qscratch region\n"); + ret = -ENOMEM; goto clk_disable; }