CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Randy Dunlap <[email protected]>
CC: "Greg Kroah-Hartman" <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git 
usb-testing
head:   46d2c20b0b10cf07a2a24b047a09195ba96c84f7
commit: 393dcd1f2b75e50783c805814a96bf6c8e11fe03 [56/62] usb: usbip: eliminate 
anonymous module_init & module_exit
:::::: branch date: 2 days ago
:::::: commit date: 3 days ago
config: openrisc-randconfig-m031-20220321 
(https://download.01.org/0day-ci/archive/20220321/[email protected]/config)
compiler: or1k-linux-gcc (GCC) 11.2.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/usb/usbip/vudc_main.c:81 vudc_init() warn: perhaps 
platform_device_put() was intended here?

vim +81 drivers/usb/usbip/vudc_main.c

80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  30  
393dcd1f2b75e5 Randy Dunlap             2022-03-16  31  static int __init 
vudc_init(void)
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  32  {
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  33          int retval = 
-ENOMEM;
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  34          int i;
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  35          struct 
vudc_device *udc_dev = NULL, *udc_dev2 = NULL;
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  36  
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  37          if 
(usb_disabled())
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  38                  return 
-ENODEV;
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  39  
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  40          if (vudc_number 
< 1) {
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  41                  
pr_err("Number of emulated UDC must be no less than 1");
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  42                  return 
-EINVAL;
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  43          }
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  44  
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  45          retval = 
platform_driver_register(&vudc_driver);
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  46          if (retval < 0)
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  47                  goto 
out;
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  48  
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  49          for (i = 0; i < 
vudc_number; i++) {
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  50                  udc_dev 
= alloc_vudc_device(i);
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  51                  if 
(!udc_dev) {
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  52                          
retval = -ENOMEM;
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  53                          
goto cleanup;
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  54                  }
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  55  
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  56                  retval 
= platform_device_add(udc_dev->pdev);
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  57                  if 
(retval < 0) {
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  58                          
put_vudc_device(udc_dev);
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  59                          
goto cleanup;
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  60                  }
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  61  
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  62                  
list_add_tail(&udc_dev->dev_entry, &vudc_devices);
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  63                  if 
(!platform_get_drvdata(udc_dev->pdev)) {
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  64                          
/*
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  65                          
 * The udc was added successfully but its probe
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  66                          
 * function failed for some reason.
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  67                          
 */
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  68                          
retval = -EINVAL;
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  69                          
goto cleanup;
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  70                  }
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  71          }
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  72          goto out;
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  73  
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  74  cleanup:
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  75          
list_for_each_entry_safe(udc_dev, udc_dev2, &vudc_devices, dev_entry) {
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  76                  
list_del(&udc_dev->dev_entry);
e28fd56ad5273b Shuah Khan (Samsung OSG  2018-10-18  77)                 /*
e28fd56ad5273b Shuah Khan (Samsung OSG  2018-10-18  78)                  * Just 
do platform_device_del() here, put_vudc_device()
e28fd56ad5273b Shuah Khan (Samsung OSG  2018-10-18  79)                  * 
calls the platform_device_put()
e28fd56ad5273b Shuah Khan (Samsung OSG  2018-10-18  80)                  */
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08 @81                  
platform_device_del(udc_dev->pdev);
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  82                  
put_vudc_device(udc_dev);
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  83          }
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  84  
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  85          
platform_driver_unregister(&vudc_driver);
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  86  out:
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  87          return retval;
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  88  }
393dcd1f2b75e5 Randy Dunlap             2022-03-16  89  module_init(vudc_init);
80fd9cd52de6a5 Igor Kotrasinski         2016-03-08  90  

:::::: The code at line 81 was first introduced by commit
:::::: 80fd9cd52de6a5fb263b3bdcb8bd8982dc50a070 usbip: vudc: Add VUDC main file

:::::: TO: Igor Kotrasinski <[email protected]>
:::::: CC: Greg Kroah-Hartman <[email protected]>

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

Reply via email to