From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/media/i2c/tvp5150.c:1114 tvp5150_set_selection() warn: passing a valid pointer to 'PTR_ERR'
Date: Thu, 26 Nov 2020 09:21:33 +0800 [thread overview]
Message-ID: <202011260926.XY2HZaOB-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 11238 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Marco Felsch <m.felsch@pengutronix.de>
CC: Mauro Carvalho Chehab <mchehab@kernel.org>
CC: linux-media(a)vger.kernel.org
CC: Hans Verkuil <hverkuil@xs4all.nl>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fa02fcd94b0c8dff6cc65714510cf25ad194b90d
commit: 46fe6e7dcededcf4aba88163fee80f4f7df23deb media: tvp5150: add FORMAT_TRY support for get/set selection handlers
date: 9 months ago
:::::: branch date: 7 hours ago
:::::: commit date: 9 months ago
config: i386-randconfig-m021-20201126 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/media/i2c/tvp5150.c:1114 tvp5150_set_selection() warn: passing a valid pointer to 'PTR_ERR'
drivers/media/i2c/tvp5150.c:1157 tvp5150_get_selection() warn: passing a valid pointer to 'PTR_ERR'
vim +/PTR_ERR +1114 drivers/media/i2c/tvp5150.c
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1076
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1077 static int tvp5150_set_selection(struct v4l2_subdev *sd,
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1078 struct v4l2_subdev_pad_config *cfg,
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1079 struct v4l2_subdev_selection *sel)
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1080 {
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1081 struct tvp5150 *decoder = to_tvp5150(sd);
b4125e5b1bd70d drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1082 struct v4l2_rect *rect = &sel->r;
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1083 struct v4l2_rect *crop;
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1084 unsigned int hmax;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1085
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1086 if (sel->target != V4L2_SEL_TGT_CROP)
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1087 return -EINVAL;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1088
257e29f84e377d drivers/media/i2c/tvp5150.c Mauro Carvalho Chehab 2016-11-16 1089 dev_dbg_lvl(sd->dev, 1, debug, "%s left=%d, top=%d, width=%d, height=%d\n",
b4125e5b1bd70d drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1090 __func__, rect->left, rect->top, rect->width, rect->height);
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1091
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1092 /* tvp5150 has some special limits */
b4125e5b1bd70d drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1093 rect->left = clamp(rect->left, 0, TVP5150_MAX_CROP_LEFT);
b4125e5b1bd70d drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1094 rect->top = clamp(rect->top, 0, TVP5150_MAX_CROP_TOP);
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1095 hmax = tvp5150_get_hmax(sd);
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1096
bd24db04101f45 drivers/media/i2c/tvp5150.c Marco Felsch 2018-06-28 1097 /*
bd24db04101f45 drivers/media/i2c/tvp5150.c Marco Felsch 2018-06-28 1098 * alignments:
bd24db04101f45 drivers/media/i2c/tvp5150.c Marco Felsch 2018-06-28 1099 * - width = 2 due to UYVY colorspace
bd24db04101f45 drivers/media/i2c/tvp5150.c Marco Felsch 2018-06-28 1100 * - height, image = no special alignment
bd24db04101f45 drivers/media/i2c/tvp5150.c Marco Felsch 2018-06-28 1101 */
b4125e5b1bd70d drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1102 v4l_bound_align_image(&rect->width,
b4125e5b1bd70d drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1103 TVP5150_H_MAX - TVP5150_MAX_CROP_LEFT - rect->left,
b4125e5b1bd70d drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1104 TVP5150_H_MAX - rect->left, 1, &rect->height,
b4125e5b1bd70d drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1105 hmax - TVP5150_MAX_CROP_TOP - rect->top,
b4125e5b1bd70d drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1106 hmax - rect->top, 0, 0);
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1107
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1108 if (!IS_ENABLED(CONFIG_VIDEO_V4L2_SUBDEV_API) &&
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1109 sel->which == V4L2_SUBDEV_FORMAT_TRY)
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1110 return 0;
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1111
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1112 crop = tvp5150_get_pad_crop(decoder, cfg, sel->pad, sel->which);
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1113 if (IS_ERR(crop))
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 @1114 return PTR_ERR(crop);
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1115
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1116 /*
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1117 * Update output image size if the selection (crop) rectangle size or
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1118 * position has been modified.
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1119 */
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1120 if (sel->which == V4L2_SUBDEV_FORMAT_ACTIVE &&
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1121 !v4l2_rect_equal(rect, crop))
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1122 tvp5150_set_hw_selection(sd, rect);
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1123
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1124 *crop = *rect;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1125
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1126 return 0;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1127 }
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1128
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1129 static int tvp5150_get_selection(struct v4l2_subdev *sd,
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1130 struct v4l2_subdev_pad_config *cfg,
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1131 struct v4l2_subdev_selection *sel)
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1132 {
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1133 struct tvp5150 *decoder = container_of(sd, struct tvp5150, sd);
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1134 struct v4l2_rect *crop;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1135 v4l2_std_id std;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1136
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1137 switch (sel->target) {
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1138 case V4L2_SEL_TGT_CROP_BOUNDS:
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1139 sel->r.left = 0;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1140 sel->r.top = 0;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1141 sel->r.width = TVP5150_H_MAX;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1142
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1143 /* Calculate height based on current standard */
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1144 if (decoder->norm == V4L2_STD_ALL)
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1145 std = tvp5150_read_std(sd);
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1146 else
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1147 std = decoder->norm;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1148 if (std & V4L2_STD_525_60)
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1149 sel->r.height = TVP5150_V_MAX_525_60;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1150 else
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1151 sel->r.height = TVP5150_V_MAX_OTHERS;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1152 return 0;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1153 case V4L2_SEL_TGT_CROP:
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1154 crop = tvp5150_get_pad_crop(decoder, cfg, sel->pad,
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1155 sel->which);
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1156 if (IS_ERR(crop))
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 @1157 return PTR_ERR(crop);
46fe6e7dcededc drivers/media/i2c/tvp5150.c Marco Felsch 2020-03-12 1158 sel->r = *crop;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1159 return 0;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1160 default:
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1161 return -EINVAL;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c Hans Verkuil 2015-12-14 1162 }
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1163 }
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin 2012-01-31 1164
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 31908 bytes --]
next reply other threads:[~2020-11-26 1:21 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-26 1:21 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2021-02-20 1:41 drivers/media/i2c/tvp5150.c:1114 tvp5150_set_selection() warn: passing a valid pointer to 'PTR_ERR' kernel test robot
2020-10-31 8:56 kernel test robot
2020-09-26 22:42 kernel test robot
2020-07-30 10:28 kernel test robot
2020-06-22 10:01 kernel test robot
2020-05-19 7:29 kbuild test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202011260926.XY2HZaOB-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.