CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Amey Narkhede <[email protected]>
TO: Bjorn Helgaas <[email protected]>
CC: [email protected]
CC: Raphael Norwitz <[email protected]>
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: Shanker Donthineni <[email protected]>
CC: Sinan Kaya <[email protected]>
CC: Len Brown <[email protected]>
CC: "Rafael J . Wysocki" <[email protected]>

Hi Amey,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on pci/next]
[also build test WARNING on pm/linux-next cryptodev/master linus/master 
v5.14-rc4 next-20210804]
[cannot apply to crypto/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Amey-Narkhede/PCI-Expose-and-manage-PCI-device-reset/20210805-044454
base:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
:::::: branch date: 12 hours ago
:::::: commit date: 12 hours ago
config: ia64-randconfig-m031-20210804 (attached as .config)
compiler: ia64-linux-gcc (GCC) 10.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/pci/pci.c:5233 reset_method_store() error: uninitialized symbol 'm'.

vim +/m +5233 drivers/pci/pci.c

310c3e70b87de5 Amey Narkhede 2021-08-05  5172  
310c3e70b87de5 Amey Narkhede 2021-08-05  5173  static ssize_t 
reset_method_store(struct device *dev,
310c3e70b87de5 Amey Narkhede 2021-08-05  5174                             
struct device_attribute *attr,
310c3e70b87de5 Amey Narkhede 2021-08-05  5175                             const 
char *buf, size_t count)
310c3e70b87de5 Amey Narkhede 2021-08-05  5176  {
310c3e70b87de5 Amey Narkhede 2021-08-05  5177   struct pci_dev *pdev = 
to_pci_dev(dev);
310c3e70b87de5 Amey Narkhede 2021-08-05  5178   int i, m, n = 0;
310c3e70b87de5 Amey Narkhede 2021-08-05  5179   char *name, *options = NULL;
310c3e70b87de5 Amey Narkhede 2021-08-05  5180  
310c3e70b87de5 Amey Narkhede 2021-08-05  5181   if (count >= (PAGE_SIZE - 1))
310c3e70b87de5 Amey Narkhede 2021-08-05  5182           return -EINVAL;
310c3e70b87de5 Amey Narkhede 2021-08-05  5183  
310c3e70b87de5 Amey Narkhede 2021-08-05  5184   if (sysfs_streq(buf, "")) {
310c3e70b87de5 Amey Narkhede 2021-08-05  5185           goto free_and_exit;
310c3e70b87de5 Amey Narkhede 2021-08-05  5186   }
310c3e70b87de5 Amey Narkhede 2021-08-05  5187  
310c3e70b87de5 Amey Narkhede 2021-08-05  5188   if (sysfs_streq(buf, 
"default")) {
310c3e70b87de5 Amey Narkhede 2021-08-05  5189           
pci_init_reset_methods(pdev);
310c3e70b87de5 Amey Narkhede 2021-08-05  5190           return count;
310c3e70b87de5 Amey Narkhede 2021-08-05  5191   }
310c3e70b87de5 Amey Narkhede 2021-08-05  5192  
310c3e70b87de5 Amey Narkhede 2021-08-05  5193   options = kstrndup(buf, count, 
GFP_KERNEL);
310c3e70b87de5 Amey Narkhede 2021-08-05  5194   if (!options)
310c3e70b87de5 Amey Narkhede 2021-08-05  5195           return -ENOMEM;
310c3e70b87de5 Amey Narkhede 2021-08-05  5196  
310c3e70b87de5 Amey Narkhede 2021-08-05  5197   while ((name = strsep(&options, 
" ")) != NULL) {
310c3e70b87de5 Amey Narkhede 2021-08-05  5198           if (sysfs_streq(name, 
""))
310c3e70b87de5 Amey Narkhede 2021-08-05  5199                   continue;
310c3e70b87de5 Amey Narkhede 2021-08-05  5200  
310c3e70b87de5 Amey Narkhede 2021-08-05  5201           name = strim(name);
310c3e70b87de5 Amey Narkhede 2021-08-05  5202  
310c3e70b87de5 Amey Narkhede 2021-08-05  5203           for (m = 1; m < 
PCI_NUM_RESET_METHODS; m++) {
310c3e70b87de5 Amey Narkhede 2021-08-05  5204                   if 
(sysfs_streq(name, pci_reset_fn_methods[m].name))
310c3e70b87de5 Amey Narkhede 2021-08-05  5205                           break;
310c3e70b87de5 Amey Narkhede 2021-08-05  5206           }
310c3e70b87de5 Amey Narkhede 2021-08-05  5207  
310c3e70b87de5 Amey Narkhede 2021-08-05  5208           if (m == 
PCI_NUM_RESET_METHODS) {
310c3e70b87de5 Amey Narkhede 2021-08-05  5209                   pci_warn(pdev, 
"Skip invalid reset method '%s'", name);
310c3e70b87de5 Amey Narkhede 2021-08-05  5210                   continue;
310c3e70b87de5 Amey Narkhede 2021-08-05  5211           }
310c3e70b87de5 Amey Narkhede 2021-08-05  5212  
310c3e70b87de5 Amey Narkhede 2021-08-05  5213           for (i = 0; i < n; i++) 
{
310c3e70b87de5 Amey Narkhede 2021-08-05  5214                   if 
(pdev->reset_methods[i] == m)
310c3e70b87de5 Amey Narkhede 2021-08-05  5215                           break;
310c3e70b87de5 Amey Narkhede 2021-08-05  5216           }
310c3e70b87de5 Amey Narkhede 2021-08-05  5217  
310c3e70b87de5 Amey Narkhede 2021-08-05  5218           if (i < n)
310c3e70b87de5 Amey Narkhede 2021-08-05  5219                   continue;
310c3e70b87de5 Amey Narkhede 2021-08-05  5220  
310c3e70b87de5 Amey Narkhede 2021-08-05  5221           if 
(pci_reset_fn_methods[m].reset_fn(pdev, 1)) {
310c3e70b87de5 Amey Narkhede 2021-08-05  5222                   pci_warn(pdev, 
"Unsupported reset method '%s'", name);
310c3e70b87de5 Amey Narkhede 2021-08-05  5223                   continue;
310c3e70b87de5 Amey Narkhede 2021-08-05  5224           }
310c3e70b87de5 Amey Narkhede 2021-08-05  5225  
310c3e70b87de5 Amey Narkhede 2021-08-05  5226           
pdev->reset_methods[n++] = m;
310c3e70b87de5 Amey Narkhede 2021-08-05  5227           BUG_ON(n == 
PCI_NUM_RESET_METHODS);
310c3e70b87de5 Amey Narkhede 2021-08-05  5228   }
310c3e70b87de5 Amey Narkhede 2021-08-05  5229  
310c3e70b87de5 Amey Narkhede 2021-08-05  5230  free_and_exit:
310c3e70b87de5 Amey Narkhede 2021-08-05  5231   kfree(options);
310c3e70b87de5 Amey Narkhede 2021-08-05  5232   /* All the reset methods are 
invalid */
310c3e70b87de5 Amey Narkhede 2021-08-05 @5233   if (n == 0 && m == 
PCI_NUM_RESET_METHODS)
310c3e70b87de5 Amey Narkhede 2021-08-05  5234           return -EINVAL;
310c3e70b87de5 Amey Narkhede 2021-08-05  5235   pdev->reset_methods[n] = 0;
310c3e70b87de5 Amey Narkhede 2021-08-05  5236   if (pdev->reset_methods[0] == 
0) {
310c3e70b87de5 Amey Narkhede 2021-08-05  5237           pci_warn(pdev, "All 
device reset methods disabled by user");
310c3e70b87de5 Amey Narkhede 2021-08-05  5238   } else if 
((pdev->reset_methods[0] != 1) &&
310c3e70b87de5 Amey Narkhede 2021-08-05  5239              
!pci_reset_fn_methods[1].reset_fn(pdev, 1)) {
310c3e70b87de5 Amey Narkhede 2021-08-05  5240           pci_warn(pdev, "Device 
specific reset disabled/de-prioritized by user");
310c3e70b87de5 Amey Narkhede 2021-08-05  5241   }
310c3e70b87de5 Amey Narkhede 2021-08-05  5242   return count;
310c3e70b87de5 Amey Narkhede 2021-08-05  5243  }
310c3e70b87de5 Amey Narkhede 2021-08-05  5244  static 
DEVICE_ATTR_RW(reset_method);
310c3e70b87de5 Amey Narkhede 2021-08-05  5245  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to