* [PATCH 1/2] media: imx7-media-csi: don't store a floating pointer
@ 2019-02-19 13:24 Mauro Carvalho Chehab
2019-02-19 13:24 ` [PATCH 2/2] media: imx7-media-csi: get rid of unused var Mauro Carvalho Chehab
2019-02-20 11:21 ` [PATCH 1/2] media: imx7-media-csi: don't store a floating pointer Rui Miguel Silva
0 siblings, 2 replies; 4+ messages in thread
From: Mauro Carvalho Chehab @ 2019-02-19 13:24 UTC (permalink / raw)
Cc: Mauro Carvalho Chehab, Linux Media Mailing List,
Mauro Carvalho Chehab, Rui Miguel Silva, Steve Longerbeam,
Philipp Zabel, Greg Kroah-Hartman, devel
if imx7_csi_try_fmt() fails, outcc variable won't be
initialized and csi->cc[IMX7_CSI_PAD_SRC] would be pointing
to a random location.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
---
drivers/staging/media/imx/imx7-media-csi.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c
index d775e259fece..0b1788d79ce9 100644
--- a/drivers/staging/media/imx/imx7-media-csi.c
+++ b/drivers/staging/media/imx/imx7-media-csi.c
@@ -980,10 +980,10 @@ static int imx7_csi_get_fmt(struct v4l2_subdev *sd,
return ret;
}
-static void imx7_csi_try_fmt(struct imx7_csi *csi,
- struct v4l2_subdev_pad_config *cfg,
- struct v4l2_subdev_format *sdformat,
- const struct imx_media_pixfmt **cc)
+static int imx7_csi_try_fmt(struct imx7_csi *csi,
+ struct v4l2_subdev_pad_config *cfg,
+ struct v4l2_subdev_format *sdformat,
+ const struct imx_media_pixfmt **cc)
{
const struct imx_media_pixfmt *in_cc;
struct v4l2_mbus_framefmt *in_fmt;
@@ -992,7 +992,7 @@ static void imx7_csi_try_fmt(struct imx7_csi *csi,
in_fmt = imx7_csi_get_format(csi, cfg, IMX7_CSI_PAD_SINK,
sdformat->which);
if (!in_fmt)
- return;
+ return -EINVAL;
switch (sdformat->pad) {
case IMX7_CSI_PAD_SRC:
@@ -1023,8 +1023,10 @@ static void imx7_csi_try_fmt(struct imx7_csi *csi,
false);
break;
default:
+ return -EINVAL;
break;
}
+ return 0;
}
static int imx7_csi_set_fmt(struct v4l2_subdev *sd,
@@ -1067,8 +1069,10 @@ static int imx7_csi_set_fmt(struct v4l2_subdev *sd,
format.pad = IMX7_CSI_PAD_SRC;
format.which = sdformat->which;
format.format = sdformat->format;
- imx7_csi_try_fmt(csi, cfg, &format, &outcc);
-
+ if (imx7_csi_try_fmt(csi, cfg, &format, &outcc)) {
+ ret = -EINVAL;
+ goto out_unlock;
+ }
outfmt = imx7_csi_get_format(csi, cfg, IMX7_CSI_PAD_SRC,
sdformat->which);
*outfmt = format.format;
--
2.20.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] media: imx7-media-csi: get rid of unused var
2019-02-19 13:24 [PATCH 1/2] media: imx7-media-csi: don't store a floating pointer Mauro Carvalho Chehab
@ 2019-02-19 13:24 ` Mauro Carvalho Chehab
2019-02-20 11:23 ` Rui Miguel Silva
2019-02-20 11:21 ` [PATCH 1/2] media: imx7-media-csi: don't store a floating pointer Rui Miguel Silva
1 sibling, 1 reply; 4+ messages in thread
From: Mauro Carvalho Chehab @ 2019-02-19 13:24 UTC (permalink / raw)
Cc: Mauro Carvalho Chehab, Linux Media Mailing List,
Mauro Carvalho Chehab, Rui Miguel Silva, Steve Longerbeam,
Philipp Zabel, Greg Kroah-Hartman, devel
drivers/staging/media/imx/imx7-media-csi.c: In function 'imx7_csi_enum_mbus_code':
drivers/staging/media/imx/imx7-media-csi.c:926:33: warning: variable 'in_cc' set but not used [-Wunused-but-set-variable]
const struct imx_media_pixfmt *in_cc;
^~~~~
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
---
drivers/staging/media/imx/imx7-media-csi.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c
index 0b1788d79ce9..3fba7c27c0ec 100644
--- a/drivers/staging/media/imx/imx7-media-csi.c
+++ b/drivers/staging/media/imx/imx7-media-csi.c
@@ -923,7 +923,6 @@ static int imx7_csi_enum_mbus_code(struct v4l2_subdev *sd,
struct v4l2_subdev_mbus_code_enum *code)
{
struct imx7_csi *csi = v4l2_get_subdevdata(sd);
- const struct imx_media_pixfmt *in_cc;
struct v4l2_mbus_framefmt *in_fmt;
int ret = 0;
@@ -931,8 +930,6 @@ static int imx7_csi_enum_mbus_code(struct v4l2_subdev *sd,
in_fmt = imx7_csi_get_format(csi, cfg, IMX7_CSI_PAD_SINK, code->which);
- in_cc = imx_media_find_mbus_format(in_fmt->code, CS_SEL_ANY, true);
-
switch (code->pad) {
case IMX7_CSI_PAD_SINK:
ret = imx_media_enum_mbus_format(&code->code, code->index,
--
2.20.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] media: imx7-media-csi: don't store a floating pointer
2019-02-19 13:24 [PATCH 1/2] media: imx7-media-csi: don't store a floating pointer Mauro Carvalho Chehab
2019-02-19 13:24 ` [PATCH 2/2] media: imx7-media-csi: get rid of unused var Mauro Carvalho Chehab
@ 2019-02-20 11:21 ` Rui Miguel Silva
1 sibling, 0 replies; 4+ messages in thread
From: Rui Miguel Silva @ 2019-02-20 11:21 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Linux Media Mailing List, Mauro Carvalho Chehab, Steve Longerbeam,
Philipp Zabel, Greg Kroah-Hartman, devel
Oi Mauro,
On Tue 19 Feb 2019 at 13:24, Mauro Carvalho Chehab wrote:
> if imx7_csi_try_fmt() fails, outcc variable won't be
> initialized and csi->cc[IMX7_CSI_PAD_SRC] would be pointing
> to a random location.
>
> Signed-off-by: Mauro Carvalho Chehab
> <mchehab+samsung@kernel.org>
Thanks for this, looks good.
Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com>
---
Cheers,
Rui
> ---
> drivers/staging/media/imx/imx7-media-csi.c | 18
> +++++++++++-------
> 1 file changed, 11 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/staging/media/imx/imx7-media-csi.c
> b/drivers/staging/media/imx/imx7-media-csi.c
> index d775e259fece..0b1788d79ce9 100644
> --- a/drivers/staging/media/imx/imx7-media-csi.c
> +++ b/drivers/staging/media/imx/imx7-media-csi.c
> @@ -980,10 +980,10 @@ static int imx7_csi_get_fmt(struct
> v4l2_subdev *sd,
> return ret;
> }
>
> -static void imx7_csi_try_fmt(struct imx7_csi *csi,
> - struct v4l2_subdev_pad_config *cfg,
> - struct v4l2_subdev_format *sdformat,
> - const struct imx_media_pixfmt **cc)
> +static int imx7_csi_try_fmt(struct imx7_csi *csi,
> + struct v4l2_subdev_pad_config *cfg,
> + struct v4l2_subdev_format *sdformat,
> + const struct imx_media_pixfmt **cc)
> {
> const struct imx_media_pixfmt *in_cc;
> struct v4l2_mbus_framefmt *in_fmt;
> @@ -992,7 +992,7 @@ static void imx7_csi_try_fmt(struct imx7_csi
> *csi,
> in_fmt = imx7_csi_get_format(csi, cfg, IMX7_CSI_PAD_SINK,
> sdformat->which);
> if (!in_fmt)
> - return;
> + return -EINVAL;
>
> switch (sdformat->pad) {
> case IMX7_CSI_PAD_SRC:
> @@ -1023,8 +1023,10 @@ static void imx7_csi_try_fmt(struct
> imx7_csi *csi,
> false);
> break;
> default:
> + return -EINVAL;
> break;
> }
> + return 0;
> }
>
> static int imx7_csi_set_fmt(struct v4l2_subdev *sd,
> @@ -1067,8 +1069,10 @@ static int imx7_csi_set_fmt(struct
> v4l2_subdev *sd,
> format.pad = IMX7_CSI_PAD_SRC;
> format.which = sdformat->which;
> format.format = sdformat->format;
> - imx7_csi_try_fmt(csi, cfg, &format, &outcc);
> -
> + if (imx7_csi_try_fmt(csi, cfg, &format, &outcc)) {
> + ret = -EINVAL;
> + goto out_unlock;
> + }
> outfmt = imx7_csi_get_format(csi, cfg,
> IMX7_CSI_PAD_SRC,
> sdformat->which);
> *outfmt = format.format;
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] media: imx7-media-csi: get rid of unused var
2019-02-19 13:24 ` [PATCH 2/2] media: imx7-media-csi: get rid of unused var Mauro Carvalho Chehab
@ 2019-02-20 11:23 ` Rui Miguel Silva
0 siblings, 0 replies; 4+ messages in thread
From: Rui Miguel Silva @ 2019-02-20 11:23 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Linux Media Mailing List, Mauro Carvalho Chehab, Steve Longerbeam,
Philipp Zabel, Greg Kroah-Hartman, devel
Oi Mauro,
On Tue 19 Feb 2019 at 13:24, Mauro Carvalho Chehab wrote:
> drivers/staging/media/imx/imx7-media-csi.c: In function
> 'imx7_csi_enum_mbus_code':
> drivers/staging/media/imx/imx7-media-csi.c:926:33:
> warning: variable 'in_cc' set but not used
> [-Wunused-but-set-variable]
> const struct imx_media_pixfmt *in_cc;
> ^~~~~
>
> Signed-off-by: Mauro Carvalho Chehab
> <mchehab+samsung@kernel.org>
Acked-by: Rui Miguel Silva <rmfrfs@gmail.com>
---
Cheers,
Rui
> ---
> drivers/staging/media/imx/imx7-media-csi.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/drivers/staging/media/imx/imx7-media-csi.c
> b/drivers/staging/media/imx/imx7-media-csi.c
> index 0b1788d79ce9..3fba7c27c0ec 100644
> --- a/drivers/staging/media/imx/imx7-media-csi.c
> +++ b/drivers/staging/media/imx/imx7-media-csi.c
> @@ -923,7 +923,6 @@ static int imx7_csi_enum_mbus_code(struct
> v4l2_subdev *sd,
> struct
> v4l2_subdev_mbus_code_enum *code)
> {
> struct imx7_csi *csi = v4l2_get_subdevdata(sd);
> - const struct imx_media_pixfmt *in_cc;
> struct v4l2_mbus_framefmt *in_fmt;
> int ret = 0;
>
> @@ -931,8 +930,6 @@ static int imx7_csi_enum_mbus_code(struct
> v4l2_subdev *sd,
>
> in_fmt = imx7_csi_get_format(csi, cfg, IMX7_CSI_PAD_SINK,
> code->which);
>
> - in_cc = imx_media_find_mbus_format(in_fmt->code,
> CS_SEL_ANY, true);
> -
> switch (code->pad) {
> case IMX7_CSI_PAD_SINK:
> ret = imx_media_enum_mbus_format(&code->code,
> code->index,
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-02-20 11:23 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-19 13:24 [PATCH 1/2] media: imx7-media-csi: don't store a floating pointer Mauro Carvalho Chehab
2019-02-19 13:24 ` [PATCH 2/2] media: imx7-media-csi: get rid of unused var Mauro Carvalho Chehab
2019-02-20 11:23 ` Rui Miguel Silva
2019-02-20 11:21 ` [PATCH 1/2] media: imx7-media-csi: don't store a floating pointer Rui Miguel Silva
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox