diff options
Diffstat (limited to 'drm/nouveau/nvkm/engine/disp/base.c')
-rw-r--r-- | drm/nouveau/nvkm/engine/disp/base.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drm/nouveau/nvkm/engine/disp/base.c b/drm/nouveau/nvkm/engine/disp/base.c index 9ac1638a..785fa76d 100644 --- a/drm/nouveau/nvkm/engine/disp/base.c +++ b/drm/nouveau/nvkm/engine/disp/base.c @@ -59,9 +59,9 @@ nvkm_disp_vblank_ctor(struct nvkm_object *object, void *data, u32 size, union { struct nvif_notify_head_req_v0 v0; } *req = data; - int ret; + int ret = -ENOSYS; - if (nvif_unpack(req->v0, 0, 0, false)) { + if (!(ret = nvif_unpack(ret, &data, &size, req->v0, 0, 0, false))) { notify->size = sizeof(struct nvif_notify_head_rep_v0); if (ret = -ENXIO, req->v0.head <= disp->vblank.index_nr) { notify->types = 1; @@ -97,9 +97,9 @@ nvkm_disp_hpd_ctor(struct nvkm_object *object, void *data, u32 size, struct nvif_notify_conn_req_v0 v0; } *req = data; struct nvkm_output *outp; - int ret; + int ret = -ENOSYS; - if (nvif_unpack(req->v0, 0, 0, false)) { + if (!(ret = nvif_unpack(ret, &data, &size, req->v0, 0, 0, false))) { notify->size = sizeof(struct nvif_notify_conn_rep_v0); list_for_each_entry(outp, &disp->outp, head) { if (ret = -ENXIO, outp->conn->index == req->v0.conn) { |