]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
memory: mtk-smi: clean up device link creation
authorJohan Hovold <johan@kernel.org>
Fri, 21 Nov 2025 16:46:24 +0000 (17:46 +0100)
committerKrzysztof Kozlowski <krzk@kernel.org>
Tue, 16 Dec 2025 07:21:11 +0000 (08:21 +0100)
Clean up device link creation by bailing out early in case the SMI
platform device lookup fails.

Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20251121164624.13685-4-johan@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
drivers/memory/mtk-smi.c

index 3609bfd3c64be32f9206fd248705e580221f471f..aaeba8ab211e9723c1e853d3cce567c9e3115e3c 100644 (file)
@@ -595,25 +595,28 @@ static int mtk_smi_device_link_common(struct device *dev, struct device **com_de
 
        smi_com_pdev = of_find_device_by_node(smi_com_node);
        of_node_put(smi_com_node);
-       if (smi_com_pdev) {
-               /* smi common is the supplier, Make sure it is ready before */
-               if (!platform_get_drvdata(smi_com_pdev)) {
-                       put_device(&smi_com_pdev->dev);
-                       return -EPROBE_DEFER;
-               }
-               smi_com_dev = &smi_com_pdev->dev;
-               link = device_link_add(dev, smi_com_dev,
-                                      DL_FLAG_PM_RUNTIME | DL_FLAG_STATELESS);
-               if (!link) {
-                       dev_err(dev, "Unable to link smi-common dev\n");
-                       put_device(&smi_com_pdev->dev);
-                       return -ENODEV;
-               }
-               *com_dev = smi_com_dev;
-       } else {
+       if (!smi_com_pdev) {
                dev_err(dev, "Failed to get the smi_common device\n");
                return -EINVAL;
        }
+
+       /* smi common is the supplier, Make sure it is ready before */
+       if (!platform_get_drvdata(smi_com_pdev)) {
+               put_device(&smi_com_pdev->dev);
+               return -EPROBE_DEFER;
+       }
+
+       smi_com_dev = &smi_com_pdev->dev;
+       link = device_link_add(dev, smi_com_dev,
+                              DL_FLAG_PM_RUNTIME | DL_FLAG_STATELESS);
+       if (!link) {
+               dev_err(dev, "Unable to link smi-common dev\n");
+               put_device(&smi_com_pdev->dev);
+               return -ENODEV;
+       }
+
+       *com_dev = smi_com_dev;
+
        return 0;
 }