ethtool: Replace ethtool_ops::{get,set}_rxfh_indir() with {get,set}_rxfh()
ETHTOOL_{G,S}RXFHINDIR and ETHTOOL_{G,S}RSSH should work for drivers regardless of whether they expose the hash key, unless you try to set a hash key for a driver that doesn't expose it. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Этот коммит содержится в:
@@ -582,7 +582,7 @@ static noinline_for_stack int ethtool_get_rxfh_indir(struct net_device *dev,
|
||||
int ret;
|
||||
|
||||
if (!dev->ethtool_ops->get_rxfh_indir_size ||
|
||||
!dev->ethtool_ops->get_rxfh_indir)
|
||||
!dev->ethtool_ops->get_rxfh)
|
||||
return -EOPNOTSUPP;
|
||||
dev_size = dev->ethtool_ops->get_rxfh_indir_size(dev);
|
||||
if (dev_size == 0)
|
||||
@@ -608,7 +608,7 @@ static noinline_for_stack int ethtool_get_rxfh_indir(struct net_device *dev,
|
||||
if (!indir)
|
||||
return -ENOMEM;
|
||||
|
||||
ret = dev->ethtool_ops->get_rxfh_indir(dev, indir);
|
||||
ret = dev->ethtool_ops->get_rxfh(dev, indir, NULL);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
@@ -632,7 +632,7 @@ static noinline_for_stack int ethtool_set_rxfh_indir(struct net_device *dev,
|
||||
int ret;
|
||||
u32 ringidx_offset = offsetof(struct ethtool_rxfh_indir, ring_index[0]);
|
||||
|
||||
if (!ops->get_rxfh_indir_size || !ops->set_rxfh_indir ||
|
||||
if (!ops->get_rxfh_indir_size || !ops->set_rxfh ||
|
||||
!ops->get_rxnfc)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
@@ -669,7 +669,7 @@ static noinline_for_stack int ethtool_set_rxfh_indir(struct net_device *dev,
|
||||
goto out;
|
||||
}
|
||||
|
||||
ret = ops->set_rxfh_indir(dev, indir);
|
||||
ret = ops->set_rxfh(dev, indir, NULL);
|
||||
|
||||
out:
|
||||
kfree(indir);
|
||||
|
Ссылка в новой задаче
Block a user