| From 4d9b2ebd335d83044b9e6656d0e604e8e1300334 Mon Sep 17 00:00:00 2001 |
| From: Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
| Date: Tue, 6 Sep 2011 19:16:18 -0300 |
| Subject: [media] uvcvideo: Fix crash when linking entities |
| |
| From: Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
| |
| commit 4d9b2ebd335d83044b9e6656d0e604e8e1300334 upstream. |
| |
| The uvc_mc_register_entity() function wrongfully selects the |
| media_entity associated with a UVC entity when creating links. This |
| results in access to uninitialized media_entity structures and can hit a |
| BUG_ON statement in media_entity_create_link(). Fix it. |
| |
| Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
| Cc: Josh Boyer <jwboyer@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/media/video/uvc/uvc_entity.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/media/video/uvc/uvc_entity.c |
| +++ b/drivers/media/video/uvc/uvc_entity.c |
| @@ -49,7 +49,7 @@ static int uvc_mc_register_entity(struct |
| if (remote == NULL) |
| return -EINVAL; |
| |
| - source = (UVC_ENTITY_TYPE(remote) != UVC_TT_STREAMING) |
| + source = (UVC_ENTITY_TYPE(remote) == UVC_TT_STREAMING) |
| ? (remote->vdev ? &remote->vdev->entity : NULL) |
| : &remote->subdev.entity; |
| if (source == NULL) |