[media] media: Properly pass through media entity types in entity enumeration
authorSakari Ailus <sakari.ailus@linux.intel.com>
Mon, 2 Jan 2017 10:32:47 +0000 (08:32 -0200)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 27 Jan 2017 13:20:33 +0000 (11:20 -0200)
When the functions replaced media entity types, the range which was
allowed for the types was incorrect. This meant that media entity types
for specific devices were not passed correctly to the userspace through
MEDIA_IOC_ENUM_ENTITIES. Fix it.

Fixes: commit b2cd27448b33 ("[media] media-device: map new functions into old types for legacy API")
Reported-and-tested-by: Antti Laakso <antti.laakso@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: stable@vger.kernel.org # For v4.5 and up
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/media-device.c

index 8756275..8927456 100644 (file)
@@ -130,7 +130,7 @@ static long media_device_enum_entities(struct media_device *mdev,
         * old range.
         */
        if (ent->function < MEDIA_ENT_F_OLD_BASE ||
-           ent->function > MEDIA_ENT_T_DEVNODE_UNKNOWN) {
+           ent->function > MEDIA_ENT_F_TUNER) {
                if (is_media_entity_v4l2_subdev(ent))
                        entd->type = MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN;
                else if (ent->function != MEDIA_ENT_F_IO_V4L)