All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 6856/11953] drivers/bus/imx-weim.c:355:18-21: ERROR: pdev is NULL but dereferenced.
@ 2022-03-14  1:48 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-03-14  1:48 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 6218 bytes --]

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: Linux Memory Management List <linux-mm@kvack.org>
TO: Ivan Bornyakov <i.bornyakov@metrotek.ru>
CC: Shawn Guo <shawnguo@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-lkp(a)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 <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@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-all(a)lists.01.org

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-03-14  1:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-14  1:48 [linux-next:master 6856/11953] drivers/bus/imx-weim.c:355:18-21: ERROR: pdev is NULL but dereferenced kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.