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

Commit ef98c1f7 authored by Ilia Mirkin's avatar Ilia Mirkin Committed by Ben Skeggs
Browse files

drm/nouveau/abi16: fix handles past the 32nd one



abi16->handles is a u64, so make sure to use 1ULL << val when modifying.

Signed-off-by: default avatarIlia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 73970c47
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16,

	/* destroy channel object, all children will be killed too */
	if (chan->chan) {
		abi16->handles &= ~(1 << (chan->chan->handle & 0xffff));
		abi16->handles &= ~(1ULL << (chan->chan->handle & 0xffff));
		nouveau_channel_del(&chan->chan);
	}

@@ -280,7 +280,7 @@ nouveau_abi16_ioctl_channel_alloc(ABI16_IOCTL_ARGS)

	INIT_LIST_HEAD(&chan->notifiers);
	list_add(&chan->head, &abi16->channels);
	abi16->handles |= (1 << init->channel);
	abi16->handles |= (1ULL << init->channel);

	/* create channel object and initialise dma and fence management */
	ret = nouveau_channel_new(drm, cli, NVDRM_DEVICE, NVDRM_CHAN |