Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bde4889a authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm: make sure drm_vblank_init() has been called before touching vbl_lock



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 1ea6b8f4
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -407,13 +407,16 @@ int drm_irq_uninstall(struct drm_device *dev)
	/*
	 * Wake up any waiters so they don't hang.
	 */
	if (dev->num_crtcs) {
		spin_lock_irqsave(&dev->vbl_lock, irqflags);
		for (i = 0; i < dev->num_crtcs; i++) {
			DRM_WAKEUP(&dev->vbl_queue[i]);
			dev->vblank_enabled[i] = 0;
		dev->last_vblank[i] = dev->driver->get_vblank_counter(dev, i);
			dev->last_vblank[i] =
				dev->driver->get_vblank_counter(dev, i);
		}
		spin_unlock_irqrestore(&dev->vbl_lock, irqflags);
	}

	if (!irq_enabled)
		return -EINVAL;