Hi Lubomir,

url:    
https://github.com/0day-ci/linux/commits/Lubomir-Rintel/media-don-t-ifdef-v4l2_subdev_get_try_format-any-more/20181129-205631
base:   git://linuxtv.org/media_tree.git master

smatch warnings:
drivers/media/i2c/ov2659.c:1157 ov2659_set_fmt() warn: inconsistent returns 
'mutex:&ov2659->lock'.
  Locked on:   line 1129
  Unlocked on: line 1119

# 
https://github.com/0day-ci/linux/commit/ceed6707bbb8d34fa04448a9eaf77a574dae59a8
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout ceed6707bbb8d34fa04448a9eaf77a574dae59a8
vim +1157 drivers/media/i2c/ov2659.c

c4c0283a Benoit Parrot  2015-03-20  1098  
c4c0283a Benoit Parrot  2015-03-20  1099  static int ov2659_set_fmt(struct 
v4l2_subdev *sd,
c4c0283a Benoit Parrot  2015-03-20  1100                          struct 
v4l2_subdev_pad_config *cfg,
c4c0283a Benoit Parrot  2015-03-20  1101                          struct 
v4l2_subdev_format *fmt)
c4c0283a Benoit Parrot  2015-03-20  1102  {
c4c0283a Benoit Parrot  2015-03-20  1103        struct i2c_client *client = 
v4l2_get_subdevdata(sd);
5f5859d1 Dan Carpenter  2015-04-15  1104        int index = 
ARRAY_SIZE(ov2659_formats);
c4c0283a Benoit Parrot  2015-03-20  1105        struct v4l2_mbus_framefmt *mf = 
&fmt->format;
c4c0283a Benoit Parrot  2015-03-20  1106        const struct ov2659_framesize 
*size = NULL;
c4c0283a Benoit Parrot  2015-03-20  1107        struct ov2659 *ov2659 = 
to_ov2659(sd);
c4c0283a Benoit Parrot  2015-03-20  1108        int ret = 0;
c4c0283a Benoit Parrot  2015-03-20  1109  
c4c0283a Benoit Parrot  2015-03-20  1110        dev_dbg(&client->dev, 
"ov2659_set_fmt\n");
c4c0283a Benoit Parrot  2015-03-20  1111  
c4c0283a Benoit Parrot  2015-03-20  1112        __ov2659_try_frame_size(mf, 
&size);
c4c0283a Benoit Parrot  2015-03-20  1113  
c4c0283a Benoit Parrot  2015-03-20  1114        while (--index >= 0)
c4c0283a Benoit Parrot  2015-03-20  1115                if 
(ov2659_formats[index].code == mf->code)
c4c0283a Benoit Parrot  2015-03-20  1116                        break;
c4c0283a Benoit Parrot  2015-03-20  1117  
c4c0283a Benoit Parrot  2015-03-20  1118        if (index < 0)
c4c0283a Benoit Parrot  2015-03-20  1119                return -EINVAL;
c4c0283a Benoit Parrot  2015-03-20  1120  
c4c0283a Benoit Parrot  2015-03-20  1121        mf->colorspace = 
V4L2_COLORSPACE_SRGB;
c4c0283a Benoit Parrot  2015-03-20  1122        mf->field = V4L2_FIELD_NONE;
c4c0283a Benoit Parrot  2015-03-20  1123  
c4c0283a Benoit Parrot  2015-03-20  1124        mutex_lock(&ov2659->lock);
c4c0283a Benoit Parrot  2015-03-20  1125  
c4c0283a Benoit Parrot  2015-03-20  1126        if (fmt->which == 
V4L2_SUBDEV_FORMAT_TRY) {
c4c0283a Benoit Parrot  2015-03-20  1127                mf = 
v4l2_subdev_get_try_format(sd, cfg, fmt->pad);
ceed6707 Lubomir Rintel 2018-11-28  1128                if (IS_ERR(mf))
ceed6707 Lubomir Rintel 2018-11-28  1129                        return 
PTR_ERR(mf);
                                                                
^^^^^^^^^^^^^^^^^^
goto unlock;

c4c0283a Benoit Parrot  2015-03-20  1130                *mf = fmt->format;
c4c0283a Benoit Parrot  2015-03-20  1131        } else {
c4c0283a Benoit Parrot  2015-03-20  1132                s64 val;
c4c0283a Benoit Parrot  2015-03-20  1133  
c4c0283a Benoit Parrot  2015-03-20  1134                if (ov2659->streaming) {
c4c0283a Benoit Parrot  2015-03-20  1135                        
mutex_unlock(&ov2659->lock);
c4c0283a Benoit Parrot  2015-03-20  1136                        return -EBUSY;
c4c0283a Benoit Parrot  2015-03-20  1137                }
c4c0283a Benoit Parrot  2015-03-20  1138  
c4c0283a Benoit Parrot  2015-03-20  1139                ov2659->frame_size = 
size;
c4c0283a Benoit Parrot  2015-03-20  1140                ov2659->format = 
fmt->format;
c4c0283a Benoit Parrot  2015-03-20  1141                
ov2659->format_ctrl_regs =
c4c0283a Benoit Parrot  2015-03-20  1142                        
ov2659_formats[index].format_ctrl_regs;
c4c0283a Benoit Parrot  2015-03-20  1143  
c4c0283a Benoit Parrot  2015-03-20  1144                if (ov2659->format.code 
!= MEDIA_BUS_FMT_SBGGR8_1X8)
c4c0283a Benoit Parrot  2015-03-20  1145                        val = 
ov2659->pdata->link_frequency / 2;
c4c0283a Benoit Parrot  2015-03-20  1146                else
c4c0283a Benoit Parrot  2015-03-20  1147                        val = 
ov2659->pdata->link_frequency;
c4c0283a Benoit Parrot  2015-03-20  1148  
c4c0283a Benoit Parrot  2015-03-20  1149                ret = 
v4l2_ctrl_s_ctrl_int64(ov2659->link_frequency, val);
c4c0283a Benoit Parrot  2015-03-20  1150                if (ret < 0)
c4c0283a Benoit Parrot  2015-03-20  1151                        
dev_warn(&client->dev,
c4c0283a Benoit Parrot  2015-03-20  1152                                 
"failed to set link_frequency rate (%d)\n",
c4c0283a Benoit Parrot  2015-03-20  1153                                 ret);
c4c0283a Benoit Parrot  2015-03-20  1154        }
c4c0283a Benoit Parrot  2015-03-20  1155  
c4c0283a Benoit Parrot  2015-03-20  1156        mutex_unlock(&ov2659->lock);
c4c0283a Benoit Parrot  2015-03-20 @1157        return ret;
c4c0283a Benoit Parrot  2015-03-20  1158  }
c4c0283a Benoit Parrot  2015-03-20  1159  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Reply via email to