usb: dwc3: qcom: Fix NULL vs IS_ERR checking in dwc3_qcom_probe
authorMiaoqian Lin <linmq006@gmail.com>
Wed, 22 Dec 2021 11:18:23 +0000 (11:18 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Jan 2022 14:26:21 +0000 (15:26 +0100)
Since the acpi_create_platform_device() function may return error
pointers, dwc3_qcom_create_urs_usb_platdev() function may return error
pointers too. Using IS_ERR_OR_NULL() to check the return value to fix this.

Fixes: c25c210f590e ("usb: dwc3: qcom: add URS Host support for sdm845 ACPI boot")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20211222111823.22887-1-linmq006@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/dwc3-qcom.c

index 5257783..6cba990 100644 (file)
@@ -775,9 +775,12 @@ static int dwc3_qcom_probe(struct platform_device *pdev)
 
                if (qcom->acpi_pdata->is_urs) {
                        qcom->urs_usb = dwc3_qcom_create_urs_usb_platdev(dev);
-                       if (!qcom->urs_usb) {
+                       if (IS_ERR_OR_NULL(qcom->urs_usb)) {
                                dev_err(dev, "failed to create URS USB platdev\n");
-                               return -ENODEV;
+                               if (!qcom->urs_usb)
+                                       return -ENODEV;
+                               else
+                                       return PTR_ERR(qcom->urs_usb);
                        }
                }
        }