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 <lkp@xxxxxxxxx> > To: kbuild@xxxxxx > Cc: Julia Lawall <julia.lawall@xxxxxxx> > Subject: [hwmon:hwmon-playground 130/134] drivers/hwmon/max6650.c:632:4-10: > preceding lock on line 616 > > CC: kbuild-all@xxxxxx > CC: linux-hwmon@xxxxxxxxxxxxxxx > TO: Guenter Roeck <linux@xxxxxxxxxxxx> > > 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 <lkp@xxxxxxxxx> > > > >> 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