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

Commit 06b75e35 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau: fix display takedown order to match reverse init order



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 5de8037a
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -720,11 +720,16 @@ static void nouveau_card_takedown(struct drm_device *dev)
	struct nouveau_engine *engine = &dev_priv->engine;
	int e;

	drm_kms_helper_poll_fini(dev);
	nouveau_fbcon_fini(dev);

	if (dev_priv->channel) {
		nouveau_fence_fini(dev);
		nouveau_channel_put_unlocked(&dev_priv->channel);
		nouveau_fence_fini(dev);
	}

	engine->display.destroy(dev);

	if (!dev_priv->noaccel) {
		engine->fifo.takedown(dev);
		for (e = NVOBJ_ENGINE_NR - 1; e >= 0; e--) {
@@ -1063,11 +1068,7 @@ void nouveau_lastclose(struct drm_device *dev)
int nouveau_unload(struct drm_device *dev)
{
	struct drm_nouveau_private *dev_priv = dev->dev_private;
	struct nouveau_engine *engine = &dev_priv->engine;

	drm_kms_helper_poll_fini(dev);
	nouveau_fbcon_fini(dev);
	engine->display.destroy(dev);
	nouveau_card_takedown(dev);

	iounmap(dev_priv->mmio);