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