drm/msm/phy/dsi_phy: Set pll to NULL in case initialization fails
authorSean Paul <seanpaul@chromium.org>
Mon, 17 Jun 2019 20:09:17 +0000 (16:09 -0400)
committerSean Paul <seanpaul@chromium.org>
Thu, 20 Jun 2019 18:41:59 +0000 (14:41 -0400)
We have if (!phy->pll) checks scattered through the driver and if
phy->pll is an error pointer, those checks will pass and bad things will
happen :(

Reviewed-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20190617200920.133104-1-sean@poorly.run
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c

index fda73749fcc0e6e7efbdb4d057b05f5fbf87f500..524d4c40c5ce6708ae41e9a5c1b3497376181b54 100644 (file)
@@ -618,10 +618,12 @@ static int dsi_phy_driver_probe(struct platform_device *pdev)
                goto fail;
 
        phy->pll = msm_dsi_pll_init(pdev, phy->cfg->type, phy->id);
-       if (IS_ERR_OR_NULL(phy->pll))
+       if (IS_ERR_OR_NULL(phy->pll)) {
                DRM_DEV_INFO(dev,
                        "%s: pll init failed: %ld, need separate pll clk driver\n",
                        __func__, PTR_ERR(phy->pll));
+               phy->pll = NULL;
+       }
 
        dsi_phy_disable_resource(phy);