summaryrefslogtreecommitdiff
path: root/nvkm/core/parent.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2014-09-05 09:01:21 +1000
committerBen Skeggs <bskeggs@redhat.com>2014-09-05 09:09:41 +1000
commitf76684afe8d7737dd5bea458246b09b229de3e80 (patch)
tree75dc2c75f60fa92bf1f39e6290c4f4fd9f61df75 /nvkm/core/parent.c
parent52b94b2d5ca133ac4501490c639222db2da1b859 (diff)
downloadnouveau-f76684afe8d7737dd5bea458246b09b229de3e80.tar.gz
core: don't leak oclass type bits to user
Fixes not being able to init fence subsystem when multiple boards are present. Reported-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'nvkm/core/parent.c')
-rw-r--r--nvkm/core/parent.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/nvkm/core/parent.c b/nvkm/core/parent.c
index 8701968a9..30a291187 100644
--- a/nvkm/core/parent.c
+++ b/nvkm/core/parent.c
@@ -86,7 +86,7 @@ nouveau_parent_lclass(struct nouveau_object *parent, u32 *lclass, int size)
sclass = nv_parent(parent)->sclass;
while (sclass) {
if (++nr < size)
- lclass[nr] = sclass->oclass->handle;
+ lclass[nr] = sclass->oclass->handle & 0xffff;
sclass = sclass->sclass;
}
@@ -96,7 +96,7 @@ nouveau_parent_lclass(struct nouveau_object *parent, u32 *lclass, int size)
if (engine && (oclass = engine->sclass)) {
while (oclass->ofuncs) {
if (++nr < size)
- lclass[nr] = oclass->handle;
+ lclass[nr] = oclass->handle & 0xffff;
oclass++;
}
}