| From 1b96a0abe4137979362301129920d22cd931caf8 Mon Sep 17 00:00:00 2001 |
| From: Hans Verkuil <hverkuil-cisco@xs4all.nl> |
| Date: Fri, 8 Mar 2019 08:02:26 -0500 |
| Subject: media: vimc: zero the media_device on probe |
| |
| [ Upstream commit f74267b51cb36321f777807b2e04ca02167ecc08 ] |
| |
| The media_device is part of a static global vimc_device struct. |
| The media framework expects this to be zeroed before it is |
| used, however, since this is a global this is not the case if |
| vimc is unbound and then bound again. |
| |
| So call memset to ensure any left-over values are cleared. |
| |
| Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> |
| Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/media/platform/vimc/vimc-core.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/drivers/media/platform/vimc/vimc-core.c b/drivers/media/platform/vimc/vimc-core.c |
| index 0fbb7914098f6..3aa62d7e3d0e0 100644 |
| --- a/drivers/media/platform/vimc/vimc-core.c |
| +++ b/drivers/media/platform/vimc/vimc-core.c |
| @@ -304,6 +304,8 @@ static int vimc_probe(struct platform_device *pdev) |
| |
| dev_dbg(&pdev->dev, "probe"); |
| |
| + memset(&vimc->mdev, 0, sizeof(vimc->mdev)); |
| + |
| /* Create platform_device for each entity in the topology*/ |
| vimc->subdevs = devm_kcalloc(&vimc->pdev.dev, vimc->pipe_cfg->num_ents, |
| sizeof(*vimc->subdevs), GFP_KERNEL); |
| -- |
| 2.20.1 |
| |