From 97d1935a61b7fe7a65f98f154c7f3301cfe746f3 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 30 Jun 2010 02:46:56 +0000 Subject: netdev: Make ethtool_ops::set_flags() return -EINVAL for unsupported flags The documented error code for attempts to set unsupported flags (or to clear flags that cannot be disabled) is EINVAL, not EOPNOTSUPP. Signed-off-by: Ben Hutchings Acked-by: Eilon Greenstein Signed-off-by: David S. Miller --- drivers/net/bnx2x_main.c | 2 +- drivers/net/netxen/netxen_nic_ethtool.c | 2 +- drivers/net/qlcnic/qlcnic_ethtool.c | 2 +- drivers/net/s2io.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (limited to 'drivers/net') diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index 0809f6cfbd1a..29e293f97dba 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c @@ -10983,7 +10983,7 @@ static int bnx2x_set_flags(struct net_device *dev, u32 data) int rc = 0; if (data & ~(ETH_FLAG_LRO | ETH_FLAG_RXHASH)) - return -EOPNOTSUPP; + return -EINVAL; if (bp->recovery_state != BNX2X_RECOVERY_DONE) { printk(KERN_ERR "Handling parity error recovery. Try again later\n"); diff --git a/drivers/net/netxen/netxen_nic_ethtool.c b/drivers/net/netxen/netxen_nic_ethtool.c index 6d94ee579466..b30de24f4a52 100644 --- a/drivers/net/netxen/netxen_nic_ethtool.c +++ b/drivers/net/netxen/netxen_nic_ethtool.c @@ -888,7 +888,7 @@ static int netxen_nic_set_flags(struct net_device *netdev, u32 data) int hw_lro; if (data & ~ETH_FLAG_LRO) - return -EOPNOTSUPP; + return -EINVAL; if (!(adapter->capabilities & NX_FW_CAPABILITY_HW_LRO)) return -EINVAL; diff --git a/drivers/net/qlcnic/qlcnic_ethtool.c b/drivers/net/qlcnic/qlcnic_ethtool.c index b9d5acbaf540..f8e39e4cfe0f 100644 --- a/drivers/net/qlcnic/qlcnic_ethtool.c +++ b/drivers/net/qlcnic/qlcnic_ethtool.c @@ -984,7 +984,7 @@ static int qlcnic_set_flags(struct net_device *netdev, u32 data) int hw_lro; if (data & ~ETH_FLAG_LRO) - return -EOPNOTSUPP; + return -EINVAL; if (!(adapter->capabilities & QLCNIC_FW_CAPABILITY_HW_LRO)) return -EINVAL; diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index a032d726d640..22371f1dca58 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c @@ -6692,7 +6692,7 @@ static int s2io_ethtool_set_flags(struct net_device *dev, u32 data) int changed = 0; if (data & ~ETH_FLAG_LRO) - return -EOPNOTSUPP; + return -EINVAL; if (data & ETH_FLAG_LRO) { if (lro_enable) { -- cgit v1.2.3