提交 a5d42b8c 编写于 作者: E Ezequiel Garcia 提交者: Mauro Carvalho Chehab

[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: c88a96b0 ('[media] vivid: add core driver code')
Signed-off-by: NEzequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
上级 d2d04834
......@@ -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",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册