lkml.org 
[lkml]   [2019]   [May]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.0 046/139] media: imx: Clear fwnode link struct for each endpoint iteration
    Date
    From: Steve Longerbeam <slongerbeam@gmail.com>

    commit 107927fa597c99eaeee4f51865ca0956ec71b6a2 upstream.

    In imx_media_create_csi_of_links(), the 'struct v4l2_fwnode_link' must
    be cleared for each endpoint iteration, otherwise if the remote port
    has no "reg" property, link.remote_port will not be reset to zero.
    This was discovered on the i.MX53 SMD board, since the OV5642 connects
    directly to ipu1_csi0 and has a single source port with no "reg"
    property.

    Fixes: 621b08eabcddb ("media: staging/imx: remove static media link arrays")

    Signed-off-by: Steve Longerbeam <slongerbeam@gmail.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/staging/media/imx/imx-media-of.c | 15 +++++++++------
    1 file changed, 9 insertions(+), 6 deletions(-)

    --- a/drivers/staging/media/imx/imx-media-of.c
    +++ b/drivers/staging/media/imx/imx-media-of.c
    @@ -143,15 +143,18 @@ int imx_media_create_csi_of_links(struct
    struct v4l2_subdev *csi)
    {
    struct device_node *csi_np = csi->dev->of_node;
    - struct fwnode_handle *fwnode, *csi_ep;
    - struct v4l2_fwnode_link link;
    struct device_node *ep;
    - int ret;
    -
    - link.local_node = of_fwnode_handle(csi_np);
    - link.local_port = CSI_SINK_PAD;

    for_each_child_of_node(csi_np, ep) {
    + struct fwnode_handle *fwnode, *csi_ep;
    + struct v4l2_fwnode_link link;
    + int ret;
    +
    + memset(&link, 0, sizeof(link));
    +
    + link.local_node = of_fwnode_handle(csi_np);
    + link.local_port = CSI_SINK_PAD;
    +
    csi_ep = of_fwnode_handle(ep);

    fwnode = fwnode_graph_get_remote_endpoint(csi_ep);

    \
     
     \ /
      Last update: 2019-05-23 21:40    [W:4.653 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site