media: mc: Fix flags handling when creating pad links
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sun, 14 Jan 2024 22:24:12 +0000 (00:24 +0200)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Mon, 5 Feb 2024 13:29:34 +0000 (14:29 +0100)
commit422f7af75d03d50895938d38bc9cb8be759c440f
treeb5d4920ed281036c792882c9dc581e77679ce38a
parent78f0daa026d4c5e192d31801d1be6caf88250220
media: mc: Fix flags handling when creating pad links

The media_create_pad_link() function doesn't correctly clear reject link
type flags, nor does it set the DATA_LINK flag. It only works because
the MEDIA_LNK_FL_DATA_LINK flag's value is 0.

Fix it by returning an error if any link type flag is set. This doesn't
introduce any regression, as nobody calls the media_create_pad_link()
function with link type flags (easily checked by grepping for the flag
in the source code, there are very few hits).

Set the MEDIA_LNK_FL_DATA_LINK explicitly, which is a no-op that the
compiler will optimize out, but is still useful to make the code more
explicit and easier to understand.

Cc: stable@vger.kernel.org # 6.1
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/mc/mc-entity.c