Michael Chan says:

====================
bnxt_en: Bug fixes

This series includes 3 fixes.  The first one fixes a race condition
between devlink reload and SR-IOV configuration.  The second one
fixes a type mismatch warning in devlink fw live patching.  The
last one fixes unwanted OVS TC dmesg error logs when tc-hw-offload is
disabled on bnxt_en.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2021-11-15 14:13:20 +00:00
Родитель e97b21e946 b0757491a1
Коммит b06cf78fae
2 изменённых файлов: 6 добавлений и 5 удалений

Просмотреть файл

@ -360,7 +360,7 @@ bnxt_dl_livepatch_report_err(struct bnxt *bp, struct netlink_ext_ack *extack,
NL_SET_ERR_MSG_MOD(extack, "Live patch already applied"); NL_SET_ERR_MSG_MOD(extack, "Live patch already applied");
break; break;
default: default:
netdev_err(bp->dev, "Unexpected live patch error: %hhd\n", err); netdev_err(bp->dev, "Unexpected live patch error: %d\n", err);
NL_SET_ERR_MSG_MOD(extack, "Failed to activate live patch"); NL_SET_ERR_MSG_MOD(extack, "Failed to activate live patch");
break; break;
} }
@ -441,12 +441,13 @@ static int bnxt_dl_reload_down(struct devlink *dl, bool netns_change,
switch (action) { switch (action) {
case DEVLINK_RELOAD_ACTION_DRIVER_REINIT: { 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, 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; return -EOPNOTSUPP;
} }
rtnl_lock();
if (bp->dev->reg_state == NETREG_UNREGISTERED) { if (bp->dev->reg_state == NETREG_UNREGISTERED) {
rtnl_unlock(); rtnl_unlock();
return -ENODEV; return -ENODEV;

Просмотреть файл

@ -1868,7 +1868,7 @@ static int bnxt_tc_setup_indr_block_cb(enum tc_setup_type type,
struct flow_cls_offload *flower = type_data; struct flow_cls_offload *flower = type_data;
struct bnxt *bp = priv->bp; struct bnxt *bp = priv->bp;
if (flower->common.chain_index) if (!tc_cls_can_offload_and_chain0(bp->dev, type_data))
return -EOPNOTSUPP; return -EOPNOTSUPP;
switch (type) { switch (type) {