Message ID | 20231010173215.1502053-1-david.m.ertman@intel.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [iwl-next,v2] ice: Fix SRIOV LAG disable on non-compliant aggreagate | expand |
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of > Dave Ertman > Sent: Tuesday, October 10, 2023 7:32 PM > To: intel-wired-lan@lists.osuosl.org > Cc: netdev@vger.kernel.org > Subject: [Intel-wired-lan] [PATCH iwl-next v2] ice: Fix SRIOV LAG disable on > non-compliant aggreagate > > If an attribute of an aggregate interface disqualifies it from supporting > SRIOV, the driver will unwind the SRIOV support. Currently the driver is > clearing the feature bit for all interfaces in the aggregate, but this is > not allowing the other interfaces to unwind successfully on driver unload. > > Only clear the feature bit for the interface that is currently unwinding. > > Fixes: bf65da2eb279 ("ice: enforce interface eligibility and add messaging for > SRIOV LAG") > Signed-off-by: Dave Ertman <david.m.ertman@intel.com> Thanks Dave! Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com> > --- > drivers/net/ethernet/intel/ice/ice_lag.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) > > diff --git a/drivers/net/ethernet/intel/ice/ice_lag.c > b/drivers/net/ethernet/intel/ice/ice_lag.c > index 2c96d1883e19..f405c07410a7 100644 > --- a/drivers/net/ethernet/intel/ice/ice_lag.c > +++ b/drivers/net/ethernet/intel/ice/ice_lag.c > @@ -1513,18 +1513,12 @@ static void ice_lag_chk_disabled_bond(struct > ice_lag *lag, void *ptr) > */ > static void ice_lag_disable_sriov_bond(struct ice_lag *lag) > { > - struct ice_lag_netdev_list *entry; > struct ice_netdev_priv *np; > - struct net_device *netdev; > struct ice_pf *pf; > > - list_for_each_entry(entry, lag->netdev_head, node) { > - netdev = entry->netdev; > - np = netdev_priv(netdev); > - pf = np->vsi->back; > - > - ice_clear_feature_support(pf, ICE_F_SRIOV_LAG); > - } > + np = netdev_priv(lag->netdev); > + pf = np->vsi->back; > + ice_clear_feature_support(pf, ICE_F_SRIOV_LAG); > } > > /** > -- > 2.40.1 > > _______________________________________________ > Intel-wired-lan mailing list > Intel-wired-lan@osuosl.org > https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
On Tue, Oct 10, 2023 at 10:32:15AM -0700, Dave Ertman wrote: > If an attribute of an aggregate interface disqualifies it from supporting > SRIOV, the driver will unwind the SRIOV support. Currently the driver is > clearing the feature bit for all interfaces in the aggregate, but this is > not allowing the other interfaces to unwind successfully on driver unload. > > Only clear the feature bit for the interface that is currently unwinding. > > Fixes: bf65da2eb279 ("ice: enforce interface eligibility and add messaging for SRIOV LAG") > Signed-off-by: Dave Ertman <david.m.ertman@intel.com> Reviewed-by: Simon Horman <horms@kernel.org>
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of > Dave Ertman > Sent: Tuesday, October 10, 2023 11:02 PM > To: intel-wired-lan@lists.osuosl.org > Cc: netdev@vger.kernel.org > Subject: [Intel-wired-lan] [PATCH iwl-next v2] ice: Fix SRIOV LAG disable on > non-compliant aggreagate > > If an attribute of an aggregate interface disqualifies it from supporting SRIOV, > the driver will unwind the SRIOV support. Currently the driver is clearing the > feature bit for all interfaces in the aggregate, but this is not allowing the > other interfaces to unwind successfully on driver unload. > > Only clear the feature bit for the interface that is currently unwinding. > > Fixes: bf65da2eb279 ("ice: enforce interface eligibility and add messaging for > SRIOV LAG") > Signed-off-by: Dave Ertman <david.m.ertman@intel.com> > --- > drivers/net/ethernet/intel/ice/ice_lag.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) > Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
diff --git a/drivers/net/ethernet/intel/ice/ice_lag.c b/drivers/net/ethernet/intel/ice/ice_lag.c index 2c96d1883e19..f405c07410a7 100644 --- a/drivers/net/ethernet/intel/ice/ice_lag.c +++ b/drivers/net/ethernet/intel/ice/ice_lag.c @@ -1513,18 +1513,12 @@ static void ice_lag_chk_disabled_bond(struct ice_lag *lag, void *ptr) */ static void ice_lag_disable_sriov_bond(struct ice_lag *lag) { - struct ice_lag_netdev_list *entry; struct ice_netdev_priv *np; - struct net_device *netdev; struct ice_pf *pf; - list_for_each_entry(entry, lag->netdev_head, node) { - netdev = entry->netdev; - np = netdev_priv(netdev); - pf = np->vsi->back; - - ice_clear_feature_support(pf, ICE_F_SRIOV_LAG); - } + np = netdev_priv(lag->netdev); + pf = np->vsi->back; + ice_clear_feature_support(pf, ICE_F_SRIOV_LAG); } /**
If an attribute of an aggregate interface disqualifies it from supporting SRIOV, the driver will unwind the SRIOV support. Currently the driver is clearing the feature bit for all interfaces in the aggregate, but this is not allowing the other interfaces to unwind successfully on driver unload. Only clear the feature bit for the interface that is currently unwinding. Fixes: bf65da2eb279 ("ice: enforce interface eligibility and add messaging for SRIOV LAG") Signed-off-by: Dave Ertman <david.m.ertman@intel.com> --- drivers/net/ethernet/intel/ice/ice_lag.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-)