[rafael-pm:bleeding-edge 163/175] drivers/thermal/intel/intel_pch_thermal.c:321:14: warning: variable 'nr_trips' is uninitialized when used here

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
head:   f24bb5858fe63bcdab4f0680e7648f907304789c
commit: a0ff8607c07f1c1c9ec69dec2ce55d90b58d9a5e [163/175] thermal: intel: intel_pch: Fold two functions into their callers
config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20230203/202302030306.7KoTwg62-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git/commit/?id=a0ff8607c07f1c1c9ec69dec2ce55d90b58d9a5e
        git remote add rafael-pm https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
        git fetch --no-tags rafael-pm bleeding-edge
        git checkout a0ff8607c07f1c1c9ec69dec2ce55d90b58d9a5e
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/thermal/intel/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> drivers/thermal/intel/intel_pch_thermal.c:321:14: warning: variable 'nr_trips' is uninitialized when used here [-Wuninitialized]
                   ptd->trips[nr_trips].temperature = GET_WPT_TEMP(trip_temp);
                              ^~~~~~~~
   drivers/thermal/intel/intel_pch_thermal.c:263:14: note: initialize the variable 'nr_trips' to silence this warning
           int nr_trips;
                       ^
                        = 0
   1 warning generated.


vim +/nr_trips +321 drivers/thermal/intel/intel_pch_thermal.c

   255	
   256	static int intel_pch_thermal_probe(struct pci_dev *pdev,
   257					   const struct pci_device_id *id)
   258	{
   259		enum board_ids board_id = id->driver_data;
   260		const struct board_info *bi = &board_info[board_id];
   261		struct pch_thermal_device *ptd;
   262		u16 trip_temp;
   263		int nr_trips;
   264		u8 tsel;
   265		int err;
   266	
   267		ptd = devm_kzalloc(&pdev->dev, sizeof(*ptd), GFP_KERNEL);
   268		if (!ptd)
   269			return -ENOMEM;
   270	
   271		pci_set_drvdata(pdev, ptd);
   272		ptd->pdev = pdev;
   273	
   274		err = pci_enable_device(pdev);
   275		if (err) {
   276			dev_err(&pdev->dev, "failed to enable pci device\n");
   277			return err;
   278		}
   279	
   280		err = pci_request_regions(pdev, driver_name);
   281		if (err) {
   282			dev_err(&pdev->dev, "failed to request pci region\n");
   283			goto error_disable;
   284		}
   285	
   286		ptd->hw_base = pci_ioremap_bar(pdev, 0);
   287		if (!ptd->hw_base) {
   288			err = -ENOMEM;
   289			dev_err(&pdev->dev, "failed to map mem base\n");
   290			goto error_release;
   291		}
   292	
   293		/* Check if BIOS has already enabled thermal sensor */
   294		if (WPT_TSEL_ETS & readb(ptd->hw_base + WPT_TSEL)) {
   295			ptd->bios_enabled = true;
   296			goto read_trips;
   297		}
   298	
   299		tsel = readb(ptd->hw_base + WPT_TSEL);
   300		/*
   301		 * When TSEL's Policy Lock-Down bit is 1, TSEL become RO.
   302		 * If so, thermal sensor cannot enable. Bail out.
   303		 */
   304		if (tsel & WPT_TSEL_PLDB) {
   305			dev_err(&ptd->pdev->dev, "Sensor can't be enabled\n");
   306			err = -ENODEV;
   307			goto error_cleanup;
   308		}
   309	
   310		writeb(tsel|WPT_TSEL_ETS, ptd->hw_base + WPT_TSEL);
   311		if (!(WPT_TSEL_ETS & readb(ptd->hw_base + WPT_TSEL))) {
   312			dev_err(&ptd->pdev->dev, "Sensor can't be enabled\n");
   313			err = -ENODEV;
   314			goto error_cleanup;
   315		}
   316	
   317	read_trips:
   318		trip_temp = readw(ptd->hw_base + WPT_CTT);
   319		trip_temp &= 0x1FF;
   320		if (trip_temp) {
 > 321			ptd->trips[nr_trips].temperature = GET_WPT_TEMP(trip_temp);
   322			ptd->trips[nr_trips++].type = THERMAL_TRIP_CRITICAL;
   323		}
   324	
   325		trip_temp = readw(ptd->hw_base + WPT_PHL);
   326		trip_temp &= 0x1FF;
   327		if (trip_temp) {
   328			ptd->trips[nr_trips].temperature = GET_WPT_TEMP(trip_temp);
   329			ptd->trips[nr_trips++].type = THERMAL_TRIP_HOT;
   330		}
   331	
   332		nr_trips += pch_wpt_add_acpi_psv_trip(ptd, nr_trips);
   333	
   334		ptd->tzd = thermal_zone_device_register_with_trips(bi->name, ptd->trips,
   335								   nr_trips, 0, ptd,
   336								   &tzd_ops, NULL, 0, 0);
   337		if (IS_ERR(ptd->tzd)) {
   338			dev_err(&pdev->dev, "Failed to register thermal zone %s\n",
   339				bi->name);
   340			err = PTR_ERR(ptd->tzd);
   341			goto error_cleanup;
   342		}
   343		err = thermal_zone_device_enable(ptd->tzd);
   344		if (err)
   345			goto err_unregister;
   346	
   347		return 0;
   348	
   349	err_unregister:
   350		thermal_zone_device_unregister(ptd->tzd);
   351	error_cleanup:
   352		iounmap(ptd->hw_base);
   353	error_release:
   354		pci_release_regions(pdev);
   355	error_disable:
   356		pci_disable_device(pdev);
   357		dev_err(&pdev->dev, "pci device failed to probe\n");
   358		return err;
   359	}
   360	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux