summaryrefslogtreecommitdiffstats
path: root/net/core/ethtool.c
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2014-05-15 01:41:23 +0100
committerBen Hutchings <ben@decadent.org.uk>2014-05-19 01:18:19 +0100
commit7455fa2422898eee3464032351d20695930d9542 (patch)
tree7b192d2c78342657dbaa0d226daf6ab0df3973e7 /net/core/ethtool.c
parentfb95cd8d1473b1cc90eccbd6a30641f3851c8506 (diff)
downloadlinux-stable-7455fa2422898eee3464032351d20695930d9542.tar.gz
linux-stable-7455fa2422898eee3464032351d20695930d9542.tar.bz2
linux-stable-7455fa2422898eee3464032351d20695930d9542.zip
ethtool: Name the 'no change' value for setting RSS hash key but not indir table
We usually allocate special values of u32 fields starting from the top down, so also change the value to 0xffffffff. As these operations haven't been included in a stable release yet, it's not too late to change. Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'net/core/ethtool.c')
-rw-r--r--net/core/ethtool.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/net/core/ethtool.c b/net/core/ethtool.c
index c834cb29f682..7156fe5ca876 100644
--- a/net/core/ethtool.c
+++ b/net/core/ethtool.c
@@ -803,12 +803,13 @@ static noinline_for_stack int ethtool_set_rxfh(struct net_device *dev,
/* If either indir or hash key is valid, proceed further.
*/
- if ((user_indir_size && ((user_indir_size != 0xDEADBEEF) &&
- user_indir_size != dev_indir_size)) ||
+ if ((user_indir_size &&
+ user_indir_size != ETH_RXFH_INDIR_NO_CHANGE &&
+ user_indir_size != dev_indir_size) ||
(user_key_size && (user_key_size != dev_key_size)))
return -EINVAL;
- if (user_indir_size != 0xDEADBEEF)
+ if (user_indir_size != ETH_RXFH_INDIR_NO_CHANGE)
indir_bytes = dev_indir_size * sizeof(indir[0]);
rss_config = kzalloc(indir_bytes + user_key_size, GFP_USER);
@@ -821,9 +822,10 @@ static noinline_for_stack int ethtool_set_rxfh(struct net_device *dev,
goto out;
/* user_indir_size == 0 means reset the indir table to default.
- * user_indir_size == 0xDEADBEEF means indir setting is not requested.
+ * user_indir_size == ETH_RXFH_INDIR_NO_CHANGE means leave it unchanged.
*/
- if (user_indir_size && user_indir_size != 0xDEADBEEF) {
+ if (user_indir_size &&
+ user_indir_size != ETH_RXFH_INDIR_NO_CHANGE) {
indir = (u32 *)rss_config;
ret = ethtool_copy_validate_indir(indir,
useraddr + rss_cfg_offset,