Commit 4c0fca65 authored by Dan Carpenter's avatar Dan Carpenter Committed by Greg Kroah-Hartman
Browse files

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: 1881a32f ("usb: dwc3: qcom: Transition to flattened model")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: default avatarBjorn Andersson <andersson@kernel.org>
Acked-by: default avatarThinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/aAijmfAph0FlTqg6@stanley.mountain


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 45ebb7ba
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -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;
	}