drm/nouveau/kms/nv50: perform null check on msto[i] rathern than msto
authorColin Ian King <colin.king@canonical.com>
Thu, 17 Aug 2017 22:03:23 +0000 (23:03 +0100)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 22 Aug 2017 08:04:36 +0000 (18:04 +1000)
The null check on the array msto is incorrect since msto is never
null. The null check should be instead on msto[i] since this is
being dereferenced in the call to drm_mode_connector_attach_encoder.

Thanks to Emil Velikov for pointing out the mistake in my original
fix and for suggesting the correct fix.

Detected by CoverityScan, CID#1375915 ("Array compared against 0")

Fixes: f479c0ba4a17 ("drm/nouveau/kms/nv50: initial support for DP 1.2 multi-stream")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nv50_display.c

index 1449a2c..2dbf62a 100644 (file)
@@ -3141,7 +3141,7 @@ nv50_mstc_new(struct nv50_mstm *mstm, struct drm_dp_mst_port *port,
        mstc->connector.funcs->reset(&mstc->connector);
        nouveau_conn_attach_properties(&mstc->connector);
 
-       for (i = 0; i < ARRAY_SIZE(mstm->msto) && mstm->msto; i++)
+       for (i = 0; i < ARRAY_SIZE(mstm->msto) && mstm->msto[i]; i++)
                drm_mode_connector_attach_encoder(&mstc->connector, &mstm->msto[i]->encoder);
 
        drm_object_attach_property(&mstc->connector.base, dev->mode_config.path_property, 0);