ice: handle increasing Tx or Rx ring sizes
authorPaul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Tue, 2 Mar 2021 18:12:05 +0000 (10:12 -0800)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Wed, 31 Mar 2021 21:21:27 +0000 (14:21 -0700)
commit2ec5638559c13b923250eccf495d2a033fccb3e7
tree515ea70db5d3b952a0e045e0dce03ed504187904
parenta05983c3d024d173af0a80dc7197a21f64d52df6
ice: handle increasing Tx or Rx ring sizes

There is an issue when the Tx or Rx ring size increases using
'ethtool -L ...' where the new rings don't get the correct ITR
values because when we rebuild the VSI we don't know that some
of the rings may be new.

Fix this by looking at the original number of rings and
determining if the rings in ice_vsi_rebuild_set_coalesce()
were not present in the original rings received in
ice_vsi_rebuild_get_coalesce().

Also change the code to return an error if we can't allocate
memory for the coalesce data in ice_vsi_rebuild().

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_lib.c
drivers/net/ethernet/intel/ice/ice_txrx.h