Warn when refcount > 0 in drm_vblank_cleanup. In i915 driver unload drm_vblank_get is added to test whether this patch is working. This will be removed once the patch gets tested. Signed-off-by: PrasannaKumar Muralidharan <prasannatsmkumar@xxxxxxxxx> --- drivers/gpu/drm/drm_vblank.c | 2 ++ drivers/gpu/drm/i915/i915_drv.c | 1 + 2 files changed, 3 insertions(+) diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c index 70f2b95..2a6630a 100644 --- a/drivers/gpu/drm/drm_vblank.c +++ b/drivers/gpu/drm/drm_vblank.c @@ -402,6 +402,8 @@ void drm_vblank_cleanup(struct drm_device *dev) if (dev->num_crtcs == 0) return; + WARN_ON(atomic_read(&vblank->refcount) > 0); + for (pipe = 0; pipe < dev->num_crtcs; pipe++) { struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 9f45cfe..c7a93a9 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -1373,6 +1373,7 @@ void i915_driver_unload(struct drm_device *dev) struct drm_i915_private *dev_priv = to_i915(dev); struct pci_dev *pdev = dev_priv->drm.pdev; + drm_vblank_get(dev_priv, 0); i915_driver_unregister(dev_priv); if (i915_gem_suspend(dev_priv)) -- 2.10.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx