diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c index 5d4930d2168268f58ca6a7a91e669498675c60b1..12482853073b79e428a3e73e43d3c0ab8ee4dbb4 100644 --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c @@ -270,23 +270,23 @@ static int hibmc_load(struct drm_device *dev) ret = hibmc_hw_init(priv); if (ret) - goto err; + goto err_return; ret = drmm_vram_helper_init(dev, pci_resource_start(pdev, 0), pci_resource_len(pdev, 0)); if (ret) { drm_err(dev, "Error initializing VRAM MM; %d\n", ret); - goto err; + goto err_return; } ret = hibmc_kms_init(priv); if (ret) - goto err; + goto err_return; ret = drm_vblank_init(dev, dev->mode_config.num_crtc); if (ret) { drm_err(dev, "failed to initialize vblank: %d\n", ret); - goto err; + goto err_unload; } ret = pci_enable_msi(pdev); @@ -305,8 +305,9 @@ static int hibmc_load(struct drm_device *dev) return 0; -err: +err_unload: hibmc_unload(dev); +err_return: drm_err(dev, "failed to initialize drm driver: %d\n", ret); return ret; }