CC: [email protected]
TO: Srinivas Pandruvada <[email protected]>
CC: "Dutta, Ranjan" <[email protected]>

tree:   https://github.com/intel/linux-intel-lts.git 5.10/yocto
head:   1295e3a3b1ca09035005acb32a98dedf96ca3a80
commit: 81915272ac5c5c670876e773a3febc7ec67268e1 [15/21] 
thermal/drivers/int340x/processor_thermal: Add PCI MMIO based thermal driver
:::::: branch date: 3 months ago
:::::: commit date: 3 months ago
config: x86_64-randconfig-m001-20211216 
(https://download.01.org/0day-ci/archive/20211218/[email protected]/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c:258 
proc_thermal_pci_probe() warn: missing error code 'ret'

vim +/ret +258 
drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c

81915272ac5c5c Srinivas Pandruvada 2021-05-25  214  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  215  static int 
proc_thermal_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
81915272ac5c5c Srinivas Pandruvada 2021-05-25  216  {
81915272ac5c5c Srinivas Pandruvada 2021-05-25  217      struct 
proc_thermal_device *proc_priv;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  218      struct proc_thermal_pci 
*pci_info;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  219      int irq_flag = 0, irq, 
ret;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  220  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  221      proc_priv = 
devm_kzalloc(&pdev->dev, sizeof(*proc_priv), GFP_KERNEL);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  222      if (!proc_priv)
81915272ac5c5c Srinivas Pandruvada 2021-05-25  223              return -ENOMEM;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  224  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  225      pci_info = 
devm_kzalloc(&pdev->dev, sizeof(*pci_info), GFP_KERNEL);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  226      if (!pci_info)
81915272ac5c5c Srinivas Pandruvada 2021-05-25  227              return -ENOMEM;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  228  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  229      pci_info->pdev = pdev;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  230      ret = 
pcim_enable_device(pdev);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  231      if (ret < 0) {
81915272ac5c5c Srinivas Pandruvada 2021-05-25  232              
dev_err(&pdev->dev, "error: could not enable device\n");
81915272ac5c5c Srinivas Pandruvada 2021-05-25  233              return ret;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  234      }
81915272ac5c5c Srinivas Pandruvada 2021-05-25  235  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  236      pci_set_master(pdev);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  237  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  238      
INIT_DELAYED_WORK(&pci_info->work, proc_thermal_threshold_work_fn);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  239  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  240      ret = 
proc_thermal_add(&pdev->dev, proc_priv);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  241      if (ret) {
81915272ac5c5c Srinivas Pandruvada 2021-05-25  242              
dev_err(&pdev->dev, "error: proc_thermal_add, will continue\n");
81915272ac5c5c Srinivas Pandruvada 2021-05-25  243              
pci_info->no_legacy = 1;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  244      }
81915272ac5c5c Srinivas Pandruvada 2021-05-25  245  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  246      proc_priv->priv_data = 
pci_info;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  247      pci_info->proc_priv = 
proc_priv;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  248      pci_set_drvdata(pdev, 
proc_priv);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  249  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  250      ret = 
proc_thermal_mmio_add(pdev, proc_priv, id->driver_data);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  251      if (ret)
81915272ac5c5c Srinivas Pandruvada 2021-05-25  252              goto 
err_ret_thermal;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  253  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  254      pci_info->tzone = 
thermal_zone_device_register("TCPU_PCI", 1, 1, pci_info,
81915272ac5c5c Srinivas Pandruvada 2021-05-25  255                              
                        &tzone_ops,
81915272ac5c5c Srinivas Pandruvada 2021-05-25  256                              
                        &tzone_params, 0, 0);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  257      if 
(IS_ERR(pci_info->tzone))
81915272ac5c5c Srinivas Pandruvada 2021-05-25 @258              goto 
err_ret_mmio;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  259  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  260      /* request and enable 
interrupt */
81915272ac5c5c Srinivas Pandruvada 2021-05-25  261      ret = 
pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  262      if (ret < 0) {
81915272ac5c5c Srinivas Pandruvada 2021-05-25  263              
dev_err(&pdev->dev, "Failed to allocate vectors!\n");
81915272ac5c5c Srinivas Pandruvada 2021-05-25  264              goto 
err_ret_tzone;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  265      }
81915272ac5c5c Srinivas Pandruvada 2021-05-25  266      if (!pdev->msi_enabled 
&& !pdev->msix_enabled)
81915272ac5c5c Srinivas Pandruvada 2021-05-25  267              irq_flag = 
IRQF_SHARED;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  268  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  269      irq =  
pci_irq_vector(pdev, 0);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  270      ret = 
devm_request_threaded_irq(&pdev->dev, irq,
81915272ac5c5c Srinivas Pandruvada 2021-05-25  271                              
        proc_thermal_irq_handler, NULL,
81915272ac5c5c Srinivas Pandruvada 2021-05-25  272                              
        irq_flag, KBUILD_MODNAME, pci_info);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  273      if (ret) {
81915272ac5c5c Srinivas Pandruvada 2021-05-25  274              
dev_err(&pdev->dev, "Request IRQ %d failed\n", pdev->irq);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  275              goto 
err_free_vectors;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  276      }
81915272ac5c5c Srinivas Pandruvada 2021-05-25  277  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  278      return 0;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  279  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  280  err_free_vectors:
81915272ac5c5c Srinivas Pandruvada 2021-05-25  281      
pci_free_irq_vectors(pdev);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  282  err_ret_tzone:
81915272ac5c5c Srinivas Pandruvada 2021-05-25  283      
thermal_zone_device_unregister(pci_info->tzone);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  284  err_ret_mmio:
81915272ac5c5c Srinivas Pandruvada 2021-05-25  285      
proc_thermal_mmio_remove(pdev, proc_priv);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  286  err_ret_thermal:
81915272ac5c5c Srinivas Pandruvada 2021-05-25  287      if 
(!pci_info->no_legacy)
81915272ac5c5c Srinivas Pandruvada 2021-05-25  288              
proc_thermal_remove(proc_priv);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  289      
pci_disable_device(pdev);
81915272ac5c5c Srinivas Pandruvada 2021-05-25  290  
81915272ac5c5c Srinivas Pandruvada 2021-05-25  291      return ret;
81915272ac5c5c Srinivas Pandruvada 2021-05-25  292  }
81915272ac5c5c Srinivas Pandruvada 2021-05-25  293  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to