Commit ceee7fb0 authored by Sakari Ailus's avatar Sakari Ailus Committed by Mauro Carvalho Chehab
Browse files

media: v4l: async: Avoid a goto in loop implementation



Replace a goto-based loop by a while loop.

Suggested-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 82bc596d
Loading
Loading
Loading
Loading
+10 −14
Original line number Diff line number Diff line
@@ -820,20 +820,16 @@ int v4l2_async_register_subdev(struct v4l2_subdev *sd)
		if (!v4l2_dev)
			continue;

again:
		asc = v4l2_async_find_match(notifier, sd);
		if (!asc)
			continue;

		ret = v4l2_async_match_notify(notifier, v4l2_dev, sd, asc);
		while ((asc = v4l2_async_find_match(notifier, sd))) {
			ret = v4l2_async_match_notify(notifier, v4l2_dev, sd,
						      asc);
			if (ret)
				goto err_unbind;

			ret = v4l2_async_nf_try_complete(notifier);
			if (ret)
				goto err_unbind;

		goto again;
		}
	}

	/* None matched, wait for hot-plugging */