Bladeren bron

media: vivid: check if the cec_adapter is valid

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

Cc: <stable@vger.kernel.org>      # for v4.12 and up
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Hans Verkuil 7 jaren geleden
bovenliggende
commit
ed356f1104
1 gewijzigde bestanden met toevoegingen van 2 en 1 verwijderingen
  1. 2 1
      drivers/media/platform/vivid/vivid-vid-common.c

+ 2 - 1
drivers/media/platform/vivid/vivid-vid-common.c

@@ -862,7 +862,8 @@ int vidioc_g_edid(struct file *file, void *_fh,
 		return -EINVAL;
 		return -EINVAL;
 	if (edid->start_block + edid->blocks > dev->edid_blocks)
 	if (edid->start_block + edid->blocks > dev->edid_blocks)
 		edid->blocks = dev->edid_blocks - edid->start_block;
 		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);
 	memcpy(edid->edid, dev->edid + edid->start_block * 128, edid->blocks * 128);
 	return 0;
 	return 0;
 }
 }