summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBaihan Li <libaihan@huawei.com>2025-08-13 17:42:31 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-08-28 16:24:38 +0200
commitddf1691f25345699296e642f0f59f2d464722fa3 (patch)
tree16dfce084510c9bd44dd59f229ef88b05fac1f86
parent10ae957833eb6221374e754977044aea4c0ca896 (diff)
downloadlinux-ddf1691f25345699296e642f0f59f2d464722fa3.tar.gz
linux-ddf1691f25345699296e642f0f59f2d464722fa3.tar.bz2
linux-ddf1691f25345699296e642f0f59f2d464722fa3.zip
drm/hisilicon/hibmc: fix the hibmc loaded failed bug
[ Upstream commit 93a08f856fcc5aaeeecad01f71bef3088588216a ] When hibmc loaded failed, the driver use hibmc_unload to free the resource, but the mutexes in mode.config are not init, which will access an NULL pointer. Just change goto statement to return, because hibnc_hw_init() doesn't need to free anything. Fixes: b3df5e65cc03 ("drm/hibmc: Drop drm_vblank_cleanup") Signed-off-by: Baihan Li <libaihan@huawei.com> Signed-off-by: Yongbang Shi <shiyongbang@huawei.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250813094238.3722345-5-shiyongbang@huawei.com Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index 610fc8e135f9..7d0edecfc495 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -268,12 +268,12 @@ static int hibmc_load(struct drm_device *dev)
ret = hibmc_hw_init(priv);
if (ret)
- goto err;
+ return ret;
ret = drmm_vram_helper_init(dev, pci_resource_start(pdev, 0), priv->fb_size);
if (ret) {
drm_err(dev, "Error initializing VRAM MM; %d\n", ret);
- goto err;
+ return ret;
}
ret = hibmc_kms_init(priv);