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

Commit a87ff62a authored by Maarten Maathuis's avatar Maarten Maathuis Committed by Ben Skeggs
Browse files

drm/nv50: delete ramfc object after disabling fifo, not before



ramfc is zero'ed upon destruction, so it's safer to do things in the right
order.

Signed-off-by: default avatarMaarten Maathuis <madman2003@gmail.com>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent a51a3bf5
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -317,17 +317,20 @@ void
nv50_fifo_destroy_context(struct nouveau_channel *chan)
{
	struct drm_device *dev = chan->dev;
	struct nouveau_gpuobj_ref *ramfc = chan->ramfc;

	NV_DEBUG(dev, "ch%d\n", chan->id);

	nouveau_gpuobj_ref_del(dev, &chan->ramfc);
	nouveau_gpuobj_ref_del(dev, &chan->cache);

	/* This will ensure the channel is seen as disabled. */
	chan->ramfc = NULL;
	nv50_fifo_channel_disable(dev, chan->id, false);

	/* Dummy channel, also used on ch 127 */
	if (chan->id == 0)
		nv50_fifo_channel_disable(dev, 127, false);

	nouveau_gpuobj_ref_del(dev, &ramfc);
	nouveau_gpuobj_ref_del(dev, &chan->cache);
}

int