aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Gross <jesse@nicira.com>2010-10-21 07:30:43 -0400
committerDavid S. Miller <davem@davemloft.net>2010-10-21 22:59:32 -0400
commitec37a48d1d16c30b655ac5280209edf52a6775d4 (patch)
treede483247d7febde004678ef5f7ee2806b2ba90df
parent0988c4c7fb5881377ec20a6452f739a722e97c6b (diff)
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)
7528 7528
7529 if (!(bp->flags & BNX2_FLAG_CAN_KEEP_VLAN) && 7529 if (!(bp->flags & BNX2_FLAG_CAN_KEEP_VLAN) &&
7530 !(data & ETH_FLAG_RXVLAN)) 7530 !(data & ETH_FLAG_RXVLAN))
7531 return -EOPNOTSUPP; 7531 return -EINVAL;
7532 7532
7533 rc = ethtool_op_set_flags(dev, data, ETH_FLAG_RXHASH | ETH_FLAG_RXVLAN | 7533 rc = ethtool_op_set_flags(dev, data, ETH_FLAG_RXHASH | ETH_FLAG_RXVLAN |
7534 ETH_FLAG_TXVLAN); 7534 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)
1123 } 1123 }
1124 1124
1125 if (!(data & ETH_FLAG_RXVLAN)) 1125 if (!(data & ETH_FLAG_RXVLAN))
1126 return -EOPNOTSUPP; 1126 return -EINVAL;
1127 1127
1128 if ((data & ETH_FLAG_LRO) && bp->rx_csum && bp->disable_tpa) 1128 if ((data & ETH_FLAG_LRO) && bp->rx_csum && bp->disable_tpa)
1129 return -EINVAL; 1129 return -EINVAL;