drivers/usb/dwc3/dwc3-qcom.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
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 <dan.carpenter@linaro.org>
---
drivers/usb/dwc3/dwc3-qcom.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
index d512002e1e88..b63fcaf823aa 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;
}
--
2.47.2
On Wed, Apr 23, 2025, Dan Carpenter wrote:
> 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 <dan.carpenter@linaro.org>
> ---
> drivers/usb/dwc3/dwc3-qcom.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
> index d512002e1e88..b63fcaf823aa 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;
> }
>
> --
> 2.47.2
>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Thanks,
Thinh
On Wed, Apr 23, 2025 at 11:23:53AM +0300, Dan Carpenter wrote:
> 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 <dan.carpenter@linaro.org>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Regards,
Bjorn
> ---
> drivers/usb/dwc3/dwc3-qcom.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
> index d512002e1e88..b63fcaf823aa 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;
> }
>
> --
> 2.47.2
>
>
© 2016 - 2025 Red Hat, Inc.