Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8b3aff7c authored by Sakari Ailus's avatar Sakari Ailus Committed by Mauro Carvalho Chehab
Browse files

[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: default avatarSakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 697cca21
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -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;