| From e1c80308e2c4c5d778bf94e1bcd94bb5d334ef32 Mon Sep 17 00:00:00 2001 |
| From: Sean Paul <seanpaul@chromium.org> |
| Date: Wed, 7 Aug 2019 14:51:50 -0400 |
| Subject: [PATCH] drm/msm/dsi: Fix return value check for clk_get_parent |
| |
| commit 5fb9b797d5ccf311ae4aba69e86080d47668b5f7 upstream. |
| |
| clk_get_parent returns an error pointer upon failure, not NULL. So the |
| checks as they exist won't catch a failure. This patch changes the |
| checks and the return values to properly handle an error pointer. |
| |
| Fixes: c4d8cfe516dc ("drm/msm/dsi: add implementation for helper functions") |
| Cc: Sibi Sankar <sibis@codeaurora.org> |
| Cc: Sean Paul <seanpaul@chromium.org> |
| Cc: Rob Clark <robdclark@chromium.org> |
| Cc: <stable@vger.kernel.org> # v4.19+ |
| Signed-off-by: Sean Paul <seanpaul@chromium.org> |
| Signed-off-by: Rob Clark <robdclark@chromium.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c |
| index dbf490176c2c..3628f420521b 100644 |
| --- a/drivers/gpu/drm/msm/dsi/dsi_host.c |
| +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c |
| @@ -421,15 +421,15 @@ static int dsi_clk_init(struct msm_dsi_host *msm_host) |
| } |
| |
| msm_host->byte_clk_src = clk_get_parent(msm_host->byte_clk); |
| - if (!msm_host->byte_clk_src) { |
| - ret = -ENODEV; |
| + if (IS_ERR(msm_host->byte_clk_src)) { |
| + ret = PTR_ERR(msm_host->byte_clk_src); |
| pr_err("%s: can't find byte_clk clock. ret=%d\n", __func__, ret); |
| goto exit; |
| } |
| |
| msm_host->pixel_clk_src = clk_get_parent(msm_host->pixel_clk); |
| - if (!msm_host->pixel_clk_src) { |
| - ret = -ENODEV; |
| + if (IS_ERR(msm_host->pixel_clk_src)) { |
| + ret = PTR_ERR(msm_host->pixel_clk_src); |
| pr_err("%s: can't find pixel_clk clock. ret=%d\n", __func__, ret); |
| goto exit; |
| } |
| -- |
| 2.7.4 |
| |