[PATCH 2/2] drm/nouveau/abi16: fix handles past the 32nd one (original) (raw)
Ilia Mirkin imirkin at alum.mit.edu
Sun Feb 9 12:51:25 PST 2014
- Previous message: [PATCH 1/2] drm/nouveau: replace ffsll with __ffs64
- Next message: [PATCH 1/2] drm/nouveau: replace ffsll with __ffs64
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
abi16->handles is a u64, so make sure to use 1ULL << val when modifying.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Noticed this when doing the previous patch. I'm not sure whether this affects 64-bit builds or not, didn't care to look at the assembly or check the standard.
drivers/gpu/drm/nouveau/nouveau_abi16.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c b/drivers/gpu/drm/nouveau/nouveau_abi16.c index b701117..66abf4d 100644 --- a/drivers/gpu/drm/nouveau/nouveau_abi16.c +++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c @@ -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 |
1.8.3.2
- Previous message: [PATCH 1/2] drm/nouveau: replace ffsll with __ffs64
- Next message: [PATCH 1/2] drm/nouveau: replace ffsll with __ffs64
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]