drivers/media/pci/intel/ipu-bridge.c:752 ipu_bridge_ivsc_is_ready() warn: iterator 'i' not incremented

From: Dan Carpenter
Date: Fri Nov 22 2024 - 02:46:14 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 28eb75e178d389d325f1666e422bc13bbbb9804c
commit: 93da10eee90b2ffa4b496dd4a6ea276c57461fb6 media: intel/ipu6: Fix direct dependency Kconfig error
config: alpha-randconfig-r072-20241122 (https://download.01.org/0day-ci/archive/20241122/202411221147.N6w23gDo-lkp@xxxxxxxxx/config)
compiler: alpha-linux-gcc (GCC) 14.2.0

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
| Closes: https://lore.kernel.org/r/202411221147.N6w23gDo-lkp@xxxxxxxxx/

smatch warnings:
drivers/media/pci/intel/ipu-bridge.c:752 ipu_bridge_ivsc_is_ready() warn: iterator 'i' not incremented

vim +/i +752 drivers/media/pci/intel/ipu-bridge.c

c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 745 static int ipu_bridge_ivsc_is_ready(void)
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 746 {
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 747 struct acpi_device *sensor_adev, *adev;
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 748 struct device *csi_dev;
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 749 bool ready = true;
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 750 unsigned int i;
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 751
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 @752 for (i = 0; i < ARRAY_SIZE(ipu_supported_sensors); i++) {
8810e055b57543 drivers/media/pci/intel/ipu-bridge.c Ricardo Ribalda 2024-05-01 753 #if IS_ENABLED(CONFIG_ACPI)
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 754 const struct ipu_sensor_config *cfg =
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 755 &ipu_supported_sensors[i];
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 756
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 757 for_each_acpi_dev_match(sensor_adev, cfg->hid, NULL, -1) {
8810e055b57543 drivers/media/pci/intel/ipu-bridge.c Ricardo Ribalda 2024-05-01 758 #else
8810e055b57543 drivers/media/pci/intel/ipu-bridge.c Ricardo Ribalda 2024-05-01 759 while (true) {
^^^^^^^^^^^^^^

8810e055b57543 drivers/media/pci/intel/ipu-bridge.c Ricardo Ribalda 2024-05-01 760 sensor_adev = NULL;
8810e055b57543 drivers/media/pci/intel/ipu-bridge.c Ricardo Ribalda 2024-05-01 761 #endif
8810e055b57543 drivers/media/pci/intel/ipu-bridge.c Ricardo Ribalda 2024-05-01 762 if (!ACPI_PTR(sensor_adev->status.enabled))
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 763 continue;


These continues make sense in for_each_acpi_dev_match() but not in a while (true) {
loop. We're stuck forever.

c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 764
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 765 adev = ipu_bridge_get_ivsc_acpi_dev(sensor_adev);
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 766 if (!adev)
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 767 continue;
^^^^^^^^


c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 768
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 769 csi_dev = ipu_bridge_get_ivsc_csi_dev(adev);
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 770 if (!csi_dev)
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 771 ready = false;
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 772
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 773 put_device(csi_dev);
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 774 acpi_dev_put(adev);
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 775 }
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 776 }
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 777
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 778 return ready;
c66821f381aed2 drivers/media/pci/intel/ipu-bridge.c Wentong Wu 2023-08-03 779 }

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