On Tue, Apr 23, 2019 at 10:09:45PM +0200, Julia Lawall wrote:
> Hello,
> 
> It looks like a goto may be wanted on line 632.
> 
Looks like it ..

Thanks!

Guenter

> julia
> 
> ---------- Forwarded message ----------
> Date: Wed, 24 Apr 2019 03:38:39 +0800
> From: kbuild test robot <[email protected]>
> To: [email protected]
> Cc: Julia Lawall <[email protected]>
> Subject: [hwmon:hwmon-playground 130/134] drivers/hwmon/max6650.c:632:4-10:
>     preceding lock on line 616
> 
> CC: [email protected]
> CC: [email protected]
> TO: Guenter Roeck <[email protected]>
> 
> tree:   
> https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git 
> hwmon-playground
> head:   05d763050bbaa40daa4b60a3912c9311ca5791a5
> commit: 77d270a1d4db919db0b02fec1d85ad5a57d556d7 [130/134] hwmon: (max6650) 
> Convert to use devm_hwmon_device_register_with_info
> :::::: branch date: 6 hours ago
> :::::: commit date: 6 hours ago
> 
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <[email protected]>
> 
> 
> >> drivers/hwmon/max6650.c:632:4-10: preceding lock on line 616
> 
> # 
> https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git/commit/?id=77d270a1d4db919db0b02fec1d85ad5a57d556d7
> git remote add hwmon 
> https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
> git remote update hwmon
> git checkout 77d270a1d4db919db0b02fec1d85ad5a57d556d7
> vim +632 drivers/hwmon/max6650.c
> 
> 77d270a1d Guenter Roeck 2019-04-20  608
> 77d270a1d Guenter Roeck 2019-04-20  609  static int max6650_write(struct 
> device *dev, enum hwmon_sensor_types type,
> 77d270a1d Guenter Roeck 2019-04-20  610                        u32 attr, int 
> channel, long val)
> 77d270a1d Guenter Roeck 2019-04-20  611  {
> 77d270a1d Guenter Roeck 2019-04-20  612       struct max6650_data *data = 
> dev_get_drvdata(dev);
> 77d270a1d Guenter Roeck 2019-04-20  613       int ret = 0;
> 77d270a1d Guenter Roeck 2019-04-20  614       u8 reg;
> 77d270a1d Guenter Roeck 2019-04-20  615
> 77d270a1d Guenter Roeck 2019-04-20 @616       mutex_lock(&data->update_lock);
> 77d270a1d Guenter Roeck 2019-04-20  617
> 77d270a1d Guenter Roeck 2019-04-20  618       switch (type) {
> 77d270a1d Guenter Roeck 2019-04-20  619       case hwmon_pwm:
> 77d270a1d Guenter Roeck 2019-04-20  620               switch (attr) {
> 77d270a1d Guenter Roeck 2019-04-20  621               case hwmon_pwm_input:
> 77d270a1d Guenter Roeck 2019-04-20  622                       reg = 
> pwm_to_dac(clamp_val(val, 0, 255),
> 77d270a1d Guenter Roeck 2019-04-20  623                                       
>  data->config & MAX6650_CFG_V12);
> 77d270a1d Guenter Roeck 2019-04-20  624                       ret = 
> i2c_smbus_write_byte_data(data->client,
> 77d270a1d Guenter Roeck 2019-04-20  625                                       
>                 MAX6650_REG_DAC, reg);
> 77d270a1d Guenter Roeck 2019-04-20  626                       if (ret)
> 77d270a1d Guenter Roeck 2019-04-20  627                               break;
> 77d270a1d Guenter Roeck 2019-04-20  628                       data->dac = reg;
> 77d270a1d Guenter Roeck 2019-04-20  629                       break;
> 77d270a1d Guenter Roeck 2019-04-20  630               case hwmon_pwm_enable:
> 77d270a1d Guenter Roeck 2019-04-20  631                       if (val < 0 || 
> val >= ARRAY_SIZE(max6650_pwm_modes))
> 77d270a1d Guenter Roeck 2019-04-20 @632                               return 
> -EINVAL;
> 77d270a1d Guenter Roeck 2019-04-20  633                       ret = 
> max6650_set_operating_mode(data,
> 77d270a1d Guenter Roeck 2019-04-20  634                                       
>         max6650_pwm_modes[val]);
> 77d270a1d Guenter Roeck 2019-04-20  635                       break;
> 77d270a1d Guenter Roeck 2019-04-20  636               default:
> 77d270a1d Guenter Roeck 2019-04-20  637                       ret = 
> -EOPNOTSUPP;
> 77d270a1d Guenter Roeck 2019-04-20  638                       break;
> 77d270a1d Guenter Roeck 2019-04-20  639               }
> 77d270a1d Guenter Roeck 2019-04-20  640       case hwmon_fan:
> 77d270a1d Guenter Roeck 2019-04-20  641               switch (attr) {
> 77d270a1d Guenter Roeck 2019-04-20  642               case hwmon_fan_div:
> 77d270a1d Guenter Roeck 2019-04-20  643                       switch (val) {
> 77d270a1d Guenter Roeck 2019-04-20  644                       case 1:
> 77d270a1d Guenter Roeck 2019-04-20  645                               reg = 0;
> 77d270a1d Guenter Roeck 2019-04-20  646                               break;
> 77d270a1d Guenter Roeck 2019-04-20  647                       case 2:
> 77d270a1d Guenter Roeck 2019-04-20  648                               reg = 1;
> 77d270a1d Guenter Roeck 2019-04-20  649                               break;
> 77d270a1d Guenter Roeck 2019-04-20  650                       case 4:
> 77d270a1d Guenter Roeck 2019-04-20  651                               reg = 2;
> 77d270a1d Guenter Roeck 2019-04-20  652                               break;
> 77d270a1d Guenter Roeck 2019-04-20  653                       case 8:
> 77d270a1d Guenter Roeck 2019-04-20  654                               reg = 3;
> 77d270a1d Guenter Roeck 2019-04-20  655                               break;
> 77d270a1d Guenter Roeck 2019-04-20  656                       default:
> 77d270a1d Guenter Roeck 2019-04-20  657                               ret = 
> -EINVAL;
> 77d270a1d Guenter Roeck 2019-04-20  658                               goto 
> error;
> 77d270a1d Guenter Roeck 2019-04-20  659                       }
> 77d270a1d Guenter Roeck 2019-04-20  660                       ret = 
> i2c_smbus_write_byte_data(data->client,
> 77d270a1d Guenter Roeck 2019-04-20  661                                       
>                 MAX6650_REG_COUNT, reg);
> 77d270a1d Guenter Roeck 2019-04-20  662                       if (ret)
> 77d270a1d Guenter Roeck 2019-04-20  663                               break;
> 77d270a1d Guenter Roeck 2019-04-20  664                       data->count = 
> reg;
> 77d270a1d Guenter Roeck 2019-04-20  665                       break;
> 77d270a1d Guenter Roeck 2019-04-20  666               case hwmon_fan_target:
> 77d270a1d Guenter Roeck 2019-04-20  667                       if (val < 0) {
> 77d270a1d Guenter Roeck 2019-04-20  668                               ret = 
> -EINVAL;
> 77d270a1d Guenter Roeck 2019-04-20  669                               break;
> 77d270a1d Guenter Roeck 2019-04-20  670                       }
> 77d270a1d Guenter Roeck 2019-04-20  671                       ret = 
> max6650_set_target(data, val);
> 77d270a1d Guenter Roeck 2019-04-20  672                       break;
> 77d270a1d Guenter Roeck 2019-04-20  673               default:
> 77d270a1d Guenter Roeck 2019-04-20  674                       ret = 
> -EOPNOTSUPP;
> 77d270a1d Guenter Roeck 2019-04-20  675                       break;
> 77d270a1d Guenter Roeck 2019-04-20  676               }
> 77d270a1d Guenter Roeck 2019-04-20  677               break;
> 77d270a1d Guenter Roeck 2019-04-20  678       default:
> 77d270a1d Guenter Roeck 2019-04-20  679               ret = -EOPNOTSUPP;
> 77d270a1d Guenter Roeck 2019-04-20  680               break;
> 77d270a1d Guenter Roeck 2019-04-20  681       }
> 77d270a1d Guenter Roeck 2019-04-20  682
> 77d270a1d Guenter Roeck 2019-04-20  683  error:
> 77d270a1d Guenter Roeck 2019-04-20  684       
> mutex_unlock(&data->update_lock);
> 77d270a1d Guenter Roeck 2019-04-20  685       return ret;
> 77d270a1d Guenter Roeck 2019-04-20  686  }
> 77d270a1d Guenter Roeck 2019-04-20  687
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Reply via email to