From 4bce6397c475ff8865e3adbf6739db24b73bc0e3 Mon Sep 17 00:00:00 2001 From: Michael Grzeschik Date: Sun, 17 Oct 2021 23:50:17 +0200 Subject: [PATCH] UPSTREAM: usb: gadget: uvc: ensure the vdev is unset Since the uvc video device is created on demand, we have to ensure that the struct is always zeroed. Otherwise the previous settings might collide with the new values. Reviewed-by: Laurent Pinchart Reviewed-by: Paul Elder Signed-off-by: Michael Grzeschik Link: https://lore.kernel.org/r/20211017215017.18392-7-m.grzeschik@pengutronix.de Signed-off-by: Greg Kroah-Hartman (cherry picked from commit e4ce9ed835bcaf4cd3230a53a79645986c25ce0f) Bug: 242344221 Change-Id: Iff680809310e34b0341a902250f208be4e6cdb6e Signed-off-by: Avichal Rakesh (cherry picked from commit c59078421b7ac19a5326e598ad96c77f29e3cb1f) --- drivers/usb/gadget/function/f_uvc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/usb/gadget/function/f_uvc.c b/drivers/usb/gadget/function/f_uvc.c index 5df1b68e5eac..0ae0afeacb66 100644 --- a/drivers/usb/gadget/function/f_uvc.c +++ b/drivers/usb/gadget/function/f_uvc.c @@ -418,6 +418,7 @@ uvc_register_video(struct uvc_device *uvc) int ret; /* TODO reference counting. */ + memset(&uvc->vdev, 0, sizeof(uvc->video)); uvc->vdev.v4l2_dev = &uvc->v4l2_dev; uvc->vdev.v4l2_dev->dev = &cdev->gadget->dev; uvc->vdev.fops = &uvc_v4l2_fops;