diff options
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_sched.c')
| -rw-r--r-- | drivers/net/ethernet/intel/ice/ice_sched.c | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/drivers/net/ethernet/intel/ice/ice_sched.c b/drivers/net/ethernet/intel/ice/ice_sched.c index 4eca8d195ef0..b7682de0ae05 100644 --- a/drivers/net/ethernet/intel/ice/ice_sched.c +++ b/drivers/net/ethernet/intel/ice/ice_sched.c @@ -2788,7 +2788,7 @@ static int  ice_sched_assoc_vsi_to_agg(struct ice_port_info *pi, u32 agg_id,  			   u16 vsi_handle, unsigned long *tc_bitmap)  { -	struct ice_sched_agg_vsi_info *agg_vsi_info, *old_agg_vsi_info = NULL; +	struct ice_sched_agg_vsi_info *agg_vsi_info, *iter, *old_agg_vsi_info = NULL;  	struct ice_sched_agg_info *agg_info, *old_agg_info;  	struct ice_hw *hw = pi->hw;  	int status = 0; @@ -2806,11 +2806,13 @@ ice_sched_assoc_vsi_to_agg(struct ice_port_info *pi, u32 agg_id,  	if (old_agg_info && old_agg_info != agg_info) {  		struct ice_sched_agg_vsi_info *vtmp; -		list_for_each_entry_safe(old_agg_vsi_info, vtmp, +		list_for_each_entry_safe(iter, vtmp,  					 &old_agg_info->agg_vsi_list,  					 list_entry) -			if (old_agg_vsi_info->vsi_handle == vsi_handle) +			if (iter->vsi_handle == vsi_handle) { +				old_agg_vsi_info = iter;  				break; +			}  	}  	/* check if entry already exist */ |