Hi Qi, The Aim of change error code from EAGAIN to EBUSY is to mention user as reporter wished ' something more along the lines of device being busy '. Br, Peng
> -----Original Message----- > From: Zhang, Qi Z <qi.z.zh...@intel.com> > Sent: Saturday, May 7, 2022 3:10 PM > To: Zhang, Peng1X <peng1x.zh...@intel.com>; Yang, Qiming > <qiming.y...@intel.com>; Zhou, YidingX <yidingx.z...@intel.com>; > dev@dpdk.org > Cc: sta...@dpdk.org > Subject: RE: [PATCH] net/ice: Modify DCF state checking mechanism and error > code > > > > > -----Original Message----- > > From: Zhang, Peng1X <peng1x.zh...@intel.com> > > Sent: Thursday, May 5, 2022 11:40 PM > > To: Yang, Qiming <qiming.y...@intel.com>; Zhang, Qi Z > > <qi.z.zh...@intel.com>; Zhou, YidingX <yidingx.z...@intel.com>; > > dev@dpdk.org > > Cc: Zhang, Peng1X <peng1x.zh...@intel.com>; sta...@dpdk.org > > Subject: [PATCH] net/ice: Modify DCF state checking mechanism and > > error code > > > > From: Peng Zhang <peng1x.zh...@intel.com> > > > > Add DCF state checking mechanism which will conduct whether reset is > > done.And modify error code to avoid misleading. > > > > Fixes: b71573ec2fc2 ("net/ice: retry getting VF VSI map after > > failure") > > Cc: sta...@dpdk.org > > > > Signed-off-by: Peng Zhang <peng1x.zh...@intel.com> > > --- > > drivers/net/ice/ice_dcf.c | 3 ++- > > drivers/net/ice/ice_switch_filter.c | 2 +- > > 2 files changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/net/ice/ice_dcf.c b/drivers/net/ice/ice_dcf.c > > index > > 7f0c074b01..3808272ea3 100644 > > --- a/drivers/net/ice/ice_dcf.c > > +++ b/drivers/net/ice/ice_dcf.c > > @@ -544,7 +544,8 @@ ice_dcf_handle_vsi_update_event(struct ice_dcf_hw > > *hw) > > > > for (;;) { > > if (ice_dcf_get_vf_resource(hw) == 0 && > > - ice_dcf_get_vf_vsi_map(hw) >= 0) { > > + ice_dcf_get_vf_vsi_map(hw) >= 0 && > > + ice_dcf_check_reset_done(hw) == 0) { > > err = 0; > > break; > > } > > diff --git a/drivers/net/ice/ice_switch_filter.c > > b/drivers/net/ice/ice_switch_filter.c > > index 36c9bffb73..199a981018 100644 > > --- a/drivers/net/ice/ice_switch_filter.c > > +++ b/drivers/net/ice/ice_switch_filter.c > > @@ -434,7 +434,7 @@ ice_switch_create(struct ice_adapter *ad, > > flow->rule = filter_conf_ptr; } else { if > > (ice_dcf_adminq_need_retry(ad)) -ret = -EAGAIN; > > +ret = -EBUSY; > > what's wrong with -EAGAIN? Is it necessary? > > > else > > ret = -EINVAL; > > > > -- > > 2.25.1 >