Message ID | 1636961881-17824-2-git-send-email-michael.chan@broadcom.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 46d08f55d24e69e921456b5a40717da09199267b |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | bnxt_en: Bug fixes | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Clearly marked for net |
netdev/fixes_present | success | Fixes tag present in non-next series |
netdev/subject_prefix | success | Link |
netdev/cover_letter | success | Series has a cover letter |
netdev/patch_count | success | Link |
netdev/header_inline | success | No static functions without inline keyword in header files |
netdev/build_32bit | success | Errors and warnings before: 0 this patch: 0 |
netdev/cc_maintainers | success | CCed 3 of 3 maintainers |
netdev/build_clang | success | Errors and warnings before: 3 this patch: 3 |
netdev/module_param | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Signed-off-by tag matches author and committer |
netdev/verify_fixes | success | Fixes tag looks correct |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 0 this patch: 0 |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 16 lines checked |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/source_inline | success | Was 0 now: 0 |
Hi Michael, Thank you for the patch! Yet something to improve: [auto build test ERROR on net/master] url: https://github.com/0day-ci/linux/commits/Michael-Chan/bnxt_en-Bug-fixes/20211115-154005 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git 1aa3b2207e889a948049c9a8016cedb0218c2389 config: mips-randconfig-r031-20211115 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project fbe72e41b99dc7994daac300d208a955be3e4a0a) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install mips cross compiling tool for clang build # apt-get install binutils-mips-linux-gnu # https://github.com/0day-ci/linux/commit/b17bc036418692ffb8055b7cbcdff979ec378e37 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Michael-Chan/bnxt_en-Bug-fixes/20211115-154005 git checkout b17bc036418692ffb8055b7cbcdff979ec378e37 # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/net/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c:363:62: warning: format specifies type 'char' but the argument has type 'int' [-Wformat] netdev_err(bp->dev, "Unexpected live patch error: %hhd\n", err); ~~~~ ^~~ %d >> drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c:445:48: error: no member named 'sriov_cfg' in 'struct bnxt' if (BNXT_PF(bp) && (bp->pf.active_vfs || bp->sriov_cfg)) { ~~ ^ 1 warning and 1 error generated. vim +445 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c 433 434 static int bnxt_dl_reload_down(struct devlink *dl, bool netns_change, 435 enum devlink_reload_action action, 436 enum devlink_reload_limit limit, 437 struct netlink_ext_ack *extack) 438 { 439 struct bnxt *bp = bnxt_get_bp_from_dl(dl); 440 int rc = 0; 441 442 switch (action) { 443 case DEVLINK_RELOAD_ACTION_DRIVER_REINIT: { 444 rtnl_lock(); > 445 if (BNXT_PF(bp) && (bp->pf.active_vfs || bp->sriov_cfg)) { 446 NL_SET_ERR_MSG_MOD(extack, 447 "reload is unsupported while VFs are allocated or being configured"); 448 rtnl_unlock(); 449 return -EOPNOTSUPP; 450 } 451 if (bp->dev->reg_state == NETREG_UNREGISTERED) { 452 rtnl_unlock(); 453 return -ENODEV; 454 } 455 bnxt_ulp_stop(bp); 456 if (netif_running(bp->dev)) { 457 rc = bnxt_close_nic(bp, true, true); 458 if (rc) { 459 NL_SET_ERR_MSG_MOD(extack, "Failed to close"); 460 dev_close(bp->dev); 461 rtnl_unlock(); 462 break; 463 } 464 } 465 bnxt_vf_reps_free(bp); 466 rc = bnxt_hwrm_func_drv_unrgtr(bp); 467 if (rc) { 468 NL_SET_ERR_MSG_MOD(extack, "Failed to deregister"); 469 if (netif_running(bp->dev)) 470 dev_close(bp->dev); 471 rtnl_unlock(); 472 break; 473 } 474 bnxt_cancel_reservations(bp, false); 475 bnxt_free_ctx_mem(bp); 476 kfree(bp->ctx); 477 bp->ctx = NULL; 478 break; 479 } 480 case DEVLINK_RELOAD_ACTION_FW_ACTIVATE: { 481 if (limit == DEVLINK_RELOAD_LIMIT_NO_RESET) 482 return bnxt_dl_livepatch_activate(bp, extack); 483 if (~bp->fw_cap & BNXT_FW_CAP_HOT_RESET) { 484 NL_SET_ERR_MSG_MOD(extack, "Device not capable, requires reboot"); 485 return -EOPNOTSUPP; 486 } 487 if (!bnxt_hwrm_reset_permitted(bp)) { 488 NL_SET_ERR_MSG_MOD(extack, 489 "Reset denied by firmware, it may be inhibited by remote driver"); 490 return -EPERM; 491 } 492 rtnl_lock(); 493 if (bp->dev->reg_state == NETREG_UNREGISTERED) { 494 rtnl_unlock(); 495 return -ENODEV; 496 } 497 if (netif_running(bp->dev)) 498 set_bit(BNXT_STATE_FW_ACTIVATE, &bp->state); 499 rc = bnxt_hwrm_firmware_reset(bp->dev, 500 FW_RESET_REQ_EMBEDDED_PROC_TYPE_CHIP, 501 FW_RESET_REQ_SELFRST_STATUS_SELFRSTASAP, 502 FW_RESET_REQ_FLAGS_RESET_GRACEFUL | 503 FW_RESET_REQ_FLAGS_FW_ACTIVATION); 504 if (rc) { 505 NL_SET_ERR_MSG_MOD(extack, "Failed to activate firmware"); 506 clear_bit(BNXT_STATE_FW_ACTIVATE, &bp->state); 507 rtnl_unlock(); 508 } 509 break; 510 } 511 default: 512 rc = -EOPNOTSUPP; 513 } 514 515 return rc; 516 } 517 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
On Tue, 16 Nov 2021 00:30:34 +0800 kernel test robot wrote: > >> drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c:445:48: error: no member named 'sriov_cfg' in 'struct bnxt' > if (BNXT_PF(bp) && (bp->pf.active_vfs || bp->sriov_cfg)) { > ~~ ^ Hi Michael, is this a false positive? Is the fix coming?
On Tue, Nov 16, 2021 at 6:39 AM Jakub Kicinski <kuba@kernel.org> wrote: > > On Tue, 16 Nov 2021 00:30:34 +0800 kernel test robot wrote: > > >> drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c:445:48: error: no member named 'sriov_cfg' in 'struct bnxt' > > if (BNXT_PF(bp) && (bp->pf.active_vfs || bp->sriov_cfg)) { > > ~~ ^ > > Hi Michael, is this a false positive? Is the fix coming? It's a real error when CONFIG_BNXT_SRIOV is not enabled. I'll send the fix later today. Thanks.
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index 5c464ea73576..a0a9af402642 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -441,12 +441,13 @@ static int bnxt_dl_reload_down(struct devlink *dl, bool netns_change, switch (action) { case DEVLINK_RELOAD_ACTION_DRIVER_REINIT: { - if (BNXT_PF(bp) && bp->pf.active_vfs) { + rtnl_lock(); + if (BNXT_PF(bp) && (bp->pf.active_vfs || bp->sriov_cfg)) { NL_SET_ERR_MSG_MOD(extack, - "reload is unsupported when VFs are allocated"); + "reload is unsupported while VFs are allocated or being configured"); + rtnl_unlock(); return -EOPNOTSUPP; } - rtnl_lock(); if (bp->dev->reg_state == NETREG_UNREGISTERED) { rtnl_unlock(); return -ENODEV;