Message ID | 20240614094435.4777-1-karen.ostrowska@intel.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [iwl-next,v2] ice: Check all ice_vsi_rebuild() errors in function | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Guessing tree name failed - patch did not apply |
On Fri, Jun 14, 2024 at 11:44:35AM +0200, Karen Ostrowska wrote: > From: Eric Joyner <eric.joyner@intel.com> > > Check the return value from ice_vsi_rebuild() and prevent the usage of > incorrectly configured VSI. > > Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com> > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> > Signed-off-by: Eric Joyner <eric.joyner@intel.com> > Signed-off-by: Karen Ostrowska <karen.ostrowska@intel.com> > --- > On v1 there was no goto done line added after ice_vsi_open(vsi). > It's needed to skip printing error message when is on success. > > Original patch was introduced as implementation change not because of > fixing something, so I will skip adding here Fixes tag. > --- > drivers/net/ethernet/intel/ice/ice_main.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c > index 7d9a4e856f61..1222e8a175d9 100644 > --- a/drivers/net/ethernet/intel/ice/ice_main.c > +++ b/drivers/net/ethernet/intel/ice/ice_main.c > @@ -4155,15 +4155,23 @@ int ice_vsi_recfg_qs(struct ice_vsi *vsi, int new_rx, int new_tx, bool locked) Hi Karen, This patch seems to be mangled. The context above should be: @@ -4155,15 +4155,24 @@ int ice_vsi_recfg_qs(struct ice_vsi *vsi, int new_rx, int new_tx, bool locked) i.e. 23 -> 24 > > /* set for the next time the netdev is started */ > if (!netif_running(vsi->netdev)) { > - ice_vsi_rebuild(vsi, ICE_VSI_FLAG_NO_INIT); > + err = ice_vsi_rebuild(vsi, ICE_VSI_FLAG_NO_INIT); > + if (err) > + goto rebuild_err; > dev_dbg(ice_pf_to_dev(pf), "Link is down, queue count change happens when link is brought up\n"); > goto done; > } > > ice_vsi_close(vsi); > - ice_vsi_rebuild(vsi, ICE_VSI_FLAG_NO_INIT); > + err = ice_vsi_rebuild(vsi, ICE_VSI_FLAG_NO_INIT); > + if (err) > + goto rebuild_err; > + > ice_pf_dcb_recfg(pf, locked); > ice_vsi_open(vsi); > + goto done; The line above should be indented using a tab. > + > +rebuild_err: > + dev_err(ice_pf_to_dev(pf), "Error during VSI rebuild: %d. Unload and reload the driver.\n", err); > done: > clear_bit(ICE_CFG_BUSY, pf->state); > return err; > -- > 2.39.3 > >
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c index 7d9a4e856f61..1222e8a175d9 100644 --- a/drivers/net/ethernet/intel/ice/ice_main.c +++ b/drivers/net/ethernet/intel/ice/ice_main.c @@ -4155,15 +4155,23 @@ int ice_vsi_recfg_qs(struct ice_vsi *vsi, int new_rx, int new_tx, bool locked) /* set for the next time the netdev is started */ if (!netif_running(vsi->netdev)) { - ice_vsi_rebuild(vsi, ICE_VSI_FLAG_NO_INIT); + err = ice_vsi_rebuild(vsi, ICE_VSI_FLAG_NO_INIT); + if (err) + goto rebuild_err; dev_dbg(ice_pf_to_dev(pf), "Link is down, queue count change happens when link is brought up\n"); goto done; } ice_vsi_close(vsi); - ice_vsi_rebuild(vsi, ICE_VSI_FLAG_NO_INIT); + err = ice_vsi_rebuild(vsi, ICE_VSI_FLAG_NO_INIT); + if (err) + goto rebuild_err; + ice_pf_dcb_recfg(pf, locked); ice_vsi_open(vsi); + goto done; + +rebuild_err: + dev_err(ice_pf_to_dev(pf), "Error during VSI rebuild: %d. Unload and reload the driver.\n", err); done: clear_bit(ICE_CFG_BUSY, pf->state); return err;