diff options
Diffstat (limited to 'drivers/gpu/drm/drm_irq.c')
| -rw-r--r-- | drivers/gpu/drm/drm_irq.c | 6 | 
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index a6a8643a6a7..8bcce7866d3 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c @@ -1054,7 +1054,7 @@ EXPORT_SYMBOL(drm_vblank_off);   */  void drm_vblank_pre_modeset(struct drm_device *dev, int crtc)  { -	/* vblank is not initialized (IRQ not installed ?) */ +	/* vblank is not initialized (IRQ not installed ?), or has been freed */  	if (!dev->num_crtcs)  		return;  	/* @@ -1076,6 +1076,10 @@ void drm_vblank_post_modeset(struct drm_device *dev, int crtc)  {  	unsigned long irqflags; +	/* vblank is not initialized (IRQ not installed ?), or has been freed */ +	if (!dev->num_crtcs) +		return; +  	if (dev->vblank_inmodeset[crtc]) {  		spin_lock_irqsave(&dev->vbl_lock, irqflags);  		dev->vblank_disable_allowed = 1;  |