CC: kbuild-...@lists.01.org
BCC: l...@intel.com
CC: Linux Memory Management List <linux...@kvack.org>
TO: Ivan Bornyakov <i.bornya...@metrotek.ru>
CC: Shawn Guo <shawn...@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   71941773e143369a73c9c4a3b62fbb60736a1182
commit: e6cb5408289f4202f4088731a4ac98c7ffaedb9d [6856/11953] bus: imx-weim: 
add DT overlay support for WEIM bus
:::::: branch date: 4 days ago
:::::: commit date: 3 weeks ago
config: arm64-randconfig-c003-20220313 
(https://download.01.org/0day-ci/archive/20220314/202203140932.93wureep-...@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>
Reported-by: Julia Lawall <julia.law...@lip6.fr>


cocci warnings: (new ones prefixed by >>)
>> drivers/bus/imx-weim.c:355:18-21: ERROR: pdev is NULL but dereferenced.

vim +355 drivers/bus/imx-weim.c

85bf6d4e4b100e Huang Shijie   2013-05-28  302  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  303  #if IS_ENABLED(CONFIG_OF_DYNAMIC)
e6cb5408289f42 Ivan Bornyakov 2022-02-22  304  static int of_weim_notify(struct 
notifier_block *nb, unsigned long action,
e6cb5408289f42 Ivan Bornyakov 2022-02-22  305                     void *arg)
e6cb5408289f42 Ivan Bornyakov 2022-02-22  306  {
e6cb5408289f42 Ivan Bornyakov 2022-02-22  307   const struct imx_weim_devtype 
*devtype;
e6cb5408289f42 Ivan Bornyakov 2022-02-22  308   struct of_reconfig_data *rd = 
arg;
e6cb5408289f42 Ivan Bornyakov 2022-02-22  309   const struct of_device_id 
*of_id;
e6cb5408289f42 Ivan Bornyakov 2022-02-22  310   struct platform_device *pdev;
e6cb5408289f42 Ivan Bornyakov 2022-02-22  311   int ret = NOTIFY_OK;
e6cb5408289f42 Ivan Bornyakov 2022-02-22  312  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  313   switch 
(of_reconfig_get_state_change(action, rd)) {
e6cb5408289f42 Ivan Bornyakov 2022-02-22  314   case OF_RECONFIG_CHANGE_ADD:
e6cb5408289f42 Ivan Bornyakov 2022-02-22  315           of_id = 
of_match_node(weim_id_table, rd->dn->parent);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  316           if (!of_id)
e6cb5408289f42 Ivan Bornyakov 2022-02-22  317                   return 
NOTIFY_OK; /* not for us */
e6cb5408289f42 Ivan Bornyakov 2022-02-22  318  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  319           devtype = of_id->data;
e6cb5408289f42 Ivan Bornyakov 2022-02-22  320  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  321           pdev = 
of_find_device_by_node(rd->dn->parent);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  322           if (!pdev) {
e6cb5408289f42 Ivan Bornyakov 2022-02-22  323                   pr_err("%s: 
could not find platform device for '%pOF'\n",
e6cb5408289f42 Ivan Bornyakov 2022-02-22  324                           
__func__, rd->dn->parent);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  325  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  326                   return 
notifier_from_errno(-EINVAL);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  327           }
e6cb5408289f42 Ivan Bornyakov 2022-02-22  328  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  329           if 
(weim_timing_setup(&pdev->dev, rd->dn, devtype))
e6cb5408289f42 Ivan Bornyakov 2022-02-22  330                   
dev_warn(&pdev->dev,
e6cb5408289f42 Ivan Bornyakov 2022-02-22  331                            
"Failed to setup timing for '%pOF'\n", rd->dn);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  332  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  333           if 
(!of_node_check_flag(rd->dn, OF_POPULATED)) {
e6cb5408289f42 Ivan Bornyakov 2022-02-22  334                   if 
(!of_platform_device_create(rd->dn, NULL, &pdev->dev)) {
e6cb5408289f42 Ivan Bornyakov 2022-02-22  335                           
dev_err(&pdev->dev,
e6cb5408289f42 Ivan Bornyakov 2022-02-22  336                                   
"Failed to create child device '%pOF'\n",
e6cb5408289f42 Ivan Bornyakov 2022-02-22  337                                   
rd->dn);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  338                           ret = 
notifier_from_errno(-EINVAL);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  339                   }
e6cb5408289f42 Ivan Bornyakov 2022-02-22  340           }
e6cb5408289f42 Ivan Bornyakov 2022-02-22  341  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  342           
platform_device_put(pdev);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  343  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  344           break;
e6cb5408289f42 Ivan Bornyakov 2022-02-22  345   case OF_RECONFIG_CHANGE_REMOVE:
e6cb5408289f42 Ivan Bornyakov 2022-02-22  346           if 
(!of_node_check_flag(rd->dn, OF_POPULATED))
e6cb5408289f42 Ivan Bornyakov 2022-02-22  347                   return 
NOTIFY_OK; /* device already destroyed */
e6cb5408289f42 Ivan Bornyakov 2022-02-22  348  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  349           of_id = 
of_match_node(weim_id_table, rd->dn->parent);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  350           if (!of_id)
e6cb5408289f42 Ivan Bornyakov 2022-02-22  351                   return 
NOTIFY_OK; /* not for us */
e6cb5408289f42 Ivan Bornyakov 2022-02-22  352  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  353           pdev = 
of_find_device_by_node(rd->dn);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  354           if (!pdev) {
e6cb5408289f42 Ivan Bornyakov 2022-02-22 @355                   
dev_err(&pdev->dev,
e6cb5408289f42 Ivan Bornyakov 2022-02-22  356                           "Could 
not find platform device for '%pOF'\n",
e6cb5408289f42 Ivan Bornyakov 2022-02-22  357                           rd->dn);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  358  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  359                   ret = 
notifier_from_errno(-EINVAL);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  360           } else {
e6cb5408289f42 Ivan Bornyakov 2022-02-22  361                   
of_platform_device_destroy(&pdev->dev, NULL);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  362                   
platform_device_put(pdev);
e6cb5408289f42 Ivan Bornyakov 2022-02-22  363           }
e6cb5408289f42 Ivan Bornyakov 2022-02-22  364  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  365           break;
e6cb5408289f42 Ivan Bornyakov 2022-02-22  366   default:
e6cb5408289f42 Ivan Bornyakov 2022-02-22  367           break;
e6cb5408289f42 Ivan Bornyakov 2022-02-22  368   }
e6cb5408289f42 Ivan Bornyakov 2022-02-22  369  
e6cb5408289f42 Ivan Bornyakov 2022-02-22  370   return ret;
e6cb5408289f42 Ivan Bornyakov 2022-02-22  371  }
e6cb5408289f42 Ivan Bornyakov 2022-02-22  372  

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to