tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: dc55753ca59725e5130059dc4c520e8a91c655c0 commit: 329bf7f331286ee5d571d374e31ed50d2877b110 [23323/30000] ubcore: fix the bug of tp negotiation concurrency config: arm64-randconfig-004-20240928 (https://download.01.org/0day-ci/archive/20240929/202409291302.BCi0PcSr-lkp@i...) compiler: aarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240929/202409291302.BCi0PcSr-lkp@i...)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot lkp@intel.com | Closes: https://lore.kernel.org/oe-kbuild-all/202409291302.BCi0PcSr-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/ub/urma/ubcore/ubcore_tp.c:66:17: warning: no previous prototype for 'ubcore_get_mtu' [-Wmissing-prototypes] 66 | enum ubcore_mtu ubcore_get_mtu(int mtu) | ^~~~~~~~~~~~~~
drivers/ub/urma/ubcore/ubcore_tp.c:392:5: warning: no previous prototype for 'ubcore_modify_tp_state' [-Wmissing-prototypes]
392 | int ubcore_modify_tp_state(struct ubcore_device *dev, struct ubcore_tp *tp, | ^~~~~~~~~~~~~~~~~~~~~~ drivers/ub/urma/ubcore/ubcore_tp.c:894:19: warning: no previous prototype for 'ubcore_create_vtp' [-Wmissing-prototypes] 894 | struct ubcore_tp *ubcore_create_vtp(struct ubcore_device *dev, union ubcore_eid *remote_eid, | ^~~~~~~~~~~~~~~~~ drivers/ub/urma/ubcore/ubcore_tp.c:920:5: warning: no previous prototype for 'ubcore_destroy_vtp' [-Wmissing-prototypes] 920 | int ubcore_destroy_vtp(struct ubcore_tp *vtp) | ^~~~~~~~~~~~~~~~~~
vim +/ubcore_modify_tp_state +392 drivers/ub/urma/ubcore/ubcore_tp.c
391
392 int ubcore_modify_tp_state(struct ubcore_device *dev, struct ubcore_tp *tp,
393 enum ubcore_tp_state new_state, struct ubcore_tp_attr *attr, union ubcore_tp_attr_mask mask) 394 { 395 if (ubcore_modify_tp_state_check(tp, new_state) != 0) 396 return -1; 397 398 if (tp->state == UBCORE_TP_STATE_ERR && new_state == UBCORE_TP_STATE_ERR) { 399 ubcore_log_info("tp is already in ERR state and tpn = %u", 400 tp->tpn); 401 return 0; 402 } 403 404 if (dev->ops->modify_tp(tp, attr, mask) != 0) { 405 /* tp->peer_ext.addr will be freed when called ubcore_destroy_tp */ 406 ubcore_log_err("Failed to modify tp to %u from state %u and tpn = %u", 407 (uint32_t)new_state, (uint32_t)tp->state, tp->tpn); 408 return -1; 409 } 410 tp->state = new_state; 411 ubcore_log_info("tp state:(%u to %u) with tpn %u, peer_tpn %u", 412 (uint32_t)tp->state, (uint32_t)new_state, tp->tpn, tp->peer_tpn); 413 return 0; 414 } 415