summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Gross <jesse@nicira.com>2010-10-21 15:30:43 +0400
committerDavid S. Miller <davem@davemloft.net>2010-10-22 06:59:32 +0400
commitec37a48d1d16c30b655ac5280209edf52a6775d4 (patch)
treede483247d7febde004678ef5f7ee2806b2ba90df
parent0988c4c7fb5881377ec20a6452f739a722e97c6b (diff)
downloadlinux-ec37a48d1d16c30b655ac5280209edf52a6775d4.tar.xz
bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.
Some cards don't support changing vlan offloading settings. Make Ethtool set_flags return -EINVAL in those cases. Reported-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jesse Gross <jesse@nicira.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/bnx2.c2
-rw-r--r--drivers/net/bnx2x/bnx2x_ethtool.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index bf3c830e7dda..062600be073b 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -7528,7 +7528,7 @@ bnx2_set_flags(struct net_device *dev, u32 data)
if (!(bp->flags & BNX2_FLAG_CAN_KEEP_VLAN) &&
!(data & ETH_FLAG_RXVLAN))
- return -EOPNOTSUPP;
+ return -EINVAL;
rc = ethtool_op_set_flags(dev, data, ETH_FLAG_RXHASH | ETH_FLAG_RXVLAN |
ETH_FLAG_TXVLAN);
diff --git a/drivers/net/bnx2x/bnx2x_ethtool.c b/drivers/net/bnx2x/bnx2x_ethtool.c
index daefef618ef7..d02ffbdc9f0e 100644
--- a/drivers/net/bnx2x/bnx2x_ethtool.c
+++ b/drivers/net/bnx2x/bnx2x_ethtool.c
@@ -1123,7 +1123,7 @@ static int bnx2x_set_flags(struct net_device *dev, u32 data)
}
if (!(data & ETH_FLAG_RXVLAN))
- return -EOPNOTSUPP;
+ return -EINVAL;
if ((data & ETH_FLAG_LRO) && bp->rx_csum && bp->disable_tpa)
return -EINVAL;