[media] omap3isp: Avoid a BUG_ON() in media_entity_create_link()
If an uninitialised v4l2_subdev struct was passed to media_entity_create_link(), one of the BUG_ON()'s in the function will be hit since media_entity.num_pads will be zero. Avoid this by checking whether the num_pads field is non-zero for the interface. Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
697cca21b0
commit
8b3aff7cdd
|
@ -1946,6 +1946,19 @@ static int isp_register_entities(struct isp_device *isp)
|
|||
goto done;
|
||||
}
|
||||
|
||||
/*
|
||||
* Not all interfaces are available on all revisions
|
||||
* of the ISP. The sub-devices of those interfaces
|
||||
* aren't initialised in such a case. Check this by
|
||||
* ensuring the num_pads is non-zero.
|
||||
*/
|
||||
if (!input->num_pads) {
|
||||
dev_err(isp->dev, "%s: invalid input %u\n",
|
||||
entity->name, subdevs->interface);
|
||||
ret = -EINVAL;
|
||||
goto done;
|
||||
}
|
||||
|
||||
for (i = 0; i < sensor->entity.num_pads; i++) {
|
||||
if (sensor->entity.pads[i].flags & MEDIA_PAD_FL_SOURCE)
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue