Use devm_drm_irq_install to register interrupts so that
drm_irq_uninstall is not called when hibmc is removed.

Signed-off-by: Tian Tao <tiant...@hisilicon.com>
Reviewed-by: Thomas Zimmermann <tzimmerm...@suse.de>
---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index 13e8a28..8020604 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -247,9 +247,6 @@ static int hibmc_unload(struct drm_device *dev)
 
        drm_atomic_helper_shutdown(dev);
 
-       if (dev->irq_enabled)
-               drm_irq_uninstall(dev);
-
        pci_disable_msi(dev->pdev);
        hibmc_kms_fini(priv);
        hibmc_mm_fini(priv);
@@ -284,7 +281,7 @@ static int hibmc_load(struct drm_device *dev)
        if (ret) {
                drm_warn(dev, "enabling MSI failed: %d\n", ret);
        } else {
-               ret = drm_irq_install(dev, dev->pdev->irq);
+               ret = devm_drm_irq_install(dev, dev->pdev->irq);
                if (ret)
                        drm_warn(dev, "install irq failed: %d\n", ret);
        }
-- 
2.7.4

Reply via email to