Hi Laurent, On Mon, Jan 16, 2023 at 03:08:27AM +0200, Laurent Pinchart wrote: [...] > To make sure I understand this correctly, you need both changes, with > the change in __v4l2_async_nf_has_async_subdev() meant to address asds > being added after the subdev has been registered, and the change in > v4l2_async_register_subdev() meant to address asds that have been added > before ? Yes, your understanding is correct. > The imx6 ipu drivers implement a "clever hack" to handle the > multi-endpoint issue that was never officially supported by v4l2-async. That belongs in parentheses all right. I think it might even have been accidental. > Obviously, as it has worked so far, leaving it broken isn't a very nice > option. The fix feels a bit like a hack though, and a better solution > would be to allow subdevs to be matched multiple times, by multiple > consumers. That's a more intrusive change though, so I could be OK with > this as a short term fix, assuming it doesn't break anything else. Right, the intention was that this patch could be applied on stable kernels, as I only had noticed the issue after the release. > I would however want to ensure this doesn't get abused by new drivers. > Could we add a dev_warn() somewhere to indicate that multi-endpoint > matching is not supported and shouldn't be used until fixed ? Sakari, > what do you think ? [...] pr_warn_once() in both places, perhaps? regards Philipp