Hi Saravana, FYI, the error/warning still remains. tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/android12-5.10-2021-12 head: dbbb7b2f16b9fa3c706fe5b8c234431b97108bec commit: 1df699c140a778ed678d7d4b2fa8ffb2c62573e1 [1250/9999] UPSTREAM: driver core: Handle cycles in device links created by fw_devlink config: i386-randconfig-a001 compiler: gcc-11 (Debian 11.3.0-5) 11.3.0 reproduce (this is a W=1 build): # https://github.com/ammarfaizi2/linux-block/commit/1df699c140a778ed678d7d4b2fa8ffb2c62573e1 git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block git fetch --no-tags ammarfaizi2-block google/android/kernel/common/android12-5.10-2021-12 git checkout 1df699c140a778ed678d7d4b2fa8ffb2c62573e1 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/base/ drivers/dma-buf/ fs/ kernel/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> drivers/base/core.c:1542:5: warning: no previous prototype for 'fw_devlink_relax_cycle' [-Wmissing-prototypes] 1542 | int fw_devlink_relax_cycle(struct device *con, void *sup) | ^~~~~~~~~~~~~~~~~~~~~~ vim +/fw_devlink_relax_cycle +1542 drivers/base/core.c 1527 1528 /** 1529 * fw_devlink_relax_cycle - Convert cyclic links to SYNC_STATE_ONLY links 1530 * @con: Device to check dependencies for. 1531 * @sup: Device to check against. 1532 * 1533 * Check if @sup depends on @con or any device dependent on it (its child or 1534 * its consumer etc). When such a cyclic dependency is found, convert all 1535 * device links created solely by fw_devlink into SYNC_STATE_ONLY device links. 1536 * This is the equivalent of doing fw_devlink=permissive just between the 1537 * devices in the cycle. We need to do this because, at this point, fw_devlink 1538 * can't tell which of these dependencies is not a real dependency. 1539 * 1540 * Return 1 if a cycle is found. Otherwise, return 0. 1541 */ > 1542 int fw_devlink_relax_cycle(struct device *con, void *sup) 1543 { 1544 struct device_link *link; 1545 int ret; 1546 1547 if (con == sup) 1548 return 1; 1549 1550 ret = device_for_each_child(con, sup, fw_devlink_relax_cycle); 1551 if (ret) 1552 return ret; 1553 1554 list_for_each_entry(link, &con->links.consumers, s_node) { 1555 if ((link->flags & ~DL_FLAG_INFERRED) == 1556 (DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED)) 1557 continue; 1558 1559 if (!fw_devlink_relax_cycle(link->consumer, sup)) 1560 continue; 1561 1562 ret = 1; 1563 1564 if (!(link->flags & DL_FLAG_INFERRED)) 1565 continue; 1566 1567 pm_runtime_drop_link(link); 1568 link->flags = DL_FLAG_MANAGED | FW_DEVLINK_FLAGS_PERMISSIVE; 1569 dev_dbg(link->consumer, "Relaxing link with %s\n", 1570 dev_name(link->supplier)); 1571 } 1572 return ret; 1573 } 1574 -- 0-DAY CI Kernel Test Service https://01.org/lkp