diff options
author | Ilia Mirkin <imirkin@alum.mit.edu> | 2014-02-09 15:51:25 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2014-03-25 23:59:32 -0400 |
commit | ef98c1f7b37116ae45d892a23f46cffdda31773c (patch) | |
tree | e877c8ae7961bc9fed5f35ad7549cff004d0edc3 /drivers/gpu/drm/nouveau/nouveau_abi16.c | |
parent | 73970c47beb42f3e1ab0b86c537b1c79539f05f4 (diff) |
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: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_abi16.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_abi16.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c b/drivers/gpu/drm/nouveau/nouveau_abi16.c index b70111711be3..66abf4d6e575 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, | |||
139 | 139 | ||
140 | /* destroy channel object, all children will be killed too */ | 140 | /* destroy channel object, all children will be killed too */ |
141 | if (chan->chan) { | 141 | if (chan->chan) { |
142 | abi16->handles &= ~(1 << (chan->chan->handle & 0xffff)); | 142 | abi16->handles &= ~(1ULL << (chan->chan->handle & 0xffff)); |
143 | nouveau_channel_del(&chan->chan); | 143 | nouveau_channel_del(&chan->chan); |
144 | } | 144 | } |
145 | 145 | ||
@@ -280,7 +280,7 @@ nouveau_abi16_ioctl_channel_alloc(ABI16_IOCTL_ARGS) | |||
280 | 280 | ||
281 | INIT_LIST_HEAD(&chan->notifiers); | 281 | INIT_LIST_HEAD(&chan->notifiers); |
282 | list_add(&chan->head, &abi16->channels); | 282 | list_add(&chan->head, &abi16->channels); |
283 | abi16->handles |= (1 << init->channel); | 283 | abi16->handles |= (1ULL << init->channel); |
284 | 284 | ||
285 | /* create channel object and initialise dma and fence management */ | 285 | /* create channel object and initialise dma and fence management */ |
286 | ret = nouveau_channel_new(drm, cli, NVDRM_DEVICE, NVDRM_CHAN | | 286 | ret = nouveau_channel_new(drm, cli, NVDRM_DEVICE, NVDRM_CHAN | |