If CEC is not enabled for the vivid driver, then the adap pointer is NULL
and 'adap->phys_addr' will fail.

Signed-off-by: Hans Verkuil <hans.verk...@cisco.com>
Cc: <sta...@vger.kernel.org>      # for v4.12 and up
---
diff --git a/drivers/media/platform/vivid/vivid-vid-common.c 
b/drivers/media/platform/vivid/vivid-vid-common.c
index a651527d80db..23888fdb94fb 100644
--- a/drivers/media/platform/vivid/vivid-vid-common.c
+++ b/drivers/media/platform/vivid/vivid-vid-common.c
@@ -874,7 +874,8 @@ int vidioc_g_edid(struct file *file, void *_fh,
                return -EINVAL;
        if (edid->start_block + edid->blocks > dev->edid_blocks)
                edid->blocks = dev->edid_blocks - edid->start_block;
-       cec_set_edid_phys_addr(dev->edid, dev->edid_blocks * 128, 
adap->phys_addr);
+       if (adap)
+               cec_set_edid_phys_addr(dev->edid, dev->edid_blocks * 128, 
adap->phys_addr);
        memcpy(edid->edid, dev->edid + edid->start_block * 128, edid->blocks * 
128);
        return 0;
 }

Reply via email to