[media] vivid: Fix iteration in driver removal path

When the diver is removed and all the resources are deallocated,
we should be iterating through the created devices only.

Currently, the iteration ends when vivid_devs[i] is NULL. Since
the array contains VIVID_MAX_DEVS elements, it will oops if
n_devs=VIVID_MAX_DEVS because in that case, no element is NULL.

Fixes: c88a96b023 ('[media] vivid: add core driver code')

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
Ezequiel Garcia
2015-09-28 18:36:51 -03:00
committed by Mauro Carvalho Chehab
父節點 d2d04834d9
當前提交 a5d42b8c3b

查看文件

@@ -1341,8 +1341,11 @@ static int vivid_remove(struct platform_device *pdev)
struct vivid_dev *dev;
unsigned i;
for (i = 0; vivid_devs[i]; i++) {
for (i = 0; i < n_devs; i++) {
dev = vivid_devs[i];
if (!dev)
continue;
if (dev->has_vid_cap) {
v4l2_info(&dev->v4l2_dev, "unregistering %s\n",