Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/msm/dsi: Fix return value check for clk_get_parent

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>

authored by

Sean Paul and committed by
Rob Clark
5fb9b797 d934a712

+4 -4
+4 -4
drivers/gpu/drm/msm/dsi/dsi_host.c
··· 421 421 } 422 422 423 423 msm_host->byte_clk_src = clk_get_parent(msm_host->byte_clk); 424 - if (!msm_host->byte_clk_src) { 425 - ret = -ENODEV; 424 + if (IS_ERR(msm_host->byte_clk_src)) { 425 + ret = PTR_ERR(msm_host->byte_clk_src); 426 426 pr_err("%s: can't find byte_clk clock. ret=%d\n", __func__, ret); 427 427 goto exit; 428 428 } 429 429 430 430 msm_host->pixel_clk_src = clk_get_parent(msm_host->pixel_clk); 431 - if (!msm_host->pixel_clk_src) { 432 - ret = -ENODEV; 431 + if (IS_ERR(msm_host->pixel_clk_src)) { 432 + ret = PTR_ERR(msm_host->pixel_clk_src); 433 433 pr_err("%s: can't find pixel_clk clock. ret=%d\n", __func__, ret); 434 434 goto exit; 435 435 }