1 From 4bf51ec794b95f976557ecafbc278bc00952fc32 Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.org>
3 Date: Tue, 19 Mar 2019 17:55:09 +0000
4 Subject: [PATCH 374/725] staging: bcm2835-codec: NULL component handle on
7 queue_setup tries creating the relevant MMAL component and configures
8 the input and output ports as we're expecting to start streaming.
9 If the port configuration failed then it destroyed the component,
10 but failed to clear the component handle, therefore release tried
11 destroying the component again.
12 Adds some logging should the port config fail as well.
14 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
16 .../bcm2835-codec/bcm2835-v4l2-codec.c | 15 +++++++++++++--
17 1 file changed, 13 insertions(+), 2 deletions(-)
19 --- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c
20 +++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c
21 @@ -1776,13 +1776,21 @@ static int bcm2835_codec_create_componen
23 ret = vchiq_mmal_port_set_format(dev->instance,
24 &ctx->component->input[0]);
27 + v4l2_dbg(1, debug, &dev->v4l2_dev,
28 + "%s: vchiq_mmal_port_set_format ip port failed\n",
30 goto destroy_component;
33 ret = vchiq_mmal_port_set_format(dev->instance,
34 &ctx->component->output[0]);
37 + v4l2_dbg(1, debug, &dev->v4l2_dev,
38 + "%s: vchiq_mmal_port_set_format op port failed\n",
40 goto destroy_component;
43 if (dev->role == ENCODE) {
45 @@ -1812,11 +1820,14 @@ static int bcm2835_codec_create_componen
46 ctx->q_data[V4L2_M2M_DST].sizeimage,
47 ctx->component->output[0].minimum_buffer.size);
49 + v4l2_dbg(2, debug, &dev->v4l2_dev, "%s: component created as %s\n",
50 + __func__, components[dev->role]);
55 vchiq_mmal_component_finalise(ctx->dev->instance, ctx->component);
56 + ctx->component = NULL;