net: fix ethtool->set_flags not intended -EINVAL return value
After commit d5dbda23 "ethtool: Add support for vlan accleration.", drivers that have NETIF_F_HW_VLAN_TX, and/or NETIF_F_HW_VLAN_RX feature, but do not allow enable/disable vlan acceleration via ethtool set_flags, always return -EINVAL from that function. Fix by returning -EINVAL only if requested features do not match current settings and can not be changed by driver. Change any driver that define ethtool->set_flags to use ethtool_invalid_flags() to avoid similar problems in the future (also on drivers that do not have the problem). Tested with modified (to reproduce this bug) myri10ge driver. Cc: stable@kernel.org # 2.6.37+ Signed-off-by:Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- drivers/net/netxen/netxen_nic_ethtool.c 1 addition, 1 deletiondrivers/net/netxen/netxen_nic_ethtool.c
- drivers/net/qlcnic/qlcnic_ethtool.c 1 addition, 1 deletiondrivers/net/qlcnic/qlcnic_ethtool.c
- drivers/net/s2io.c 1 addition, 1 deletiondrivers/net/s2io.c
- drivers/net/vmxnet3/vmxnet3_ethtool.c 2 additions, 2 deletionsdrivers/net/vmxnet3/vmxnet3_ethtool.c
- drivers/net/vxge/vxge-ethtool.c 2 additions, 2 deletionsdrivers/net/vxge/vxge-ethtool.c
- include/linux/ethtool.h 1 addition, 0 deletionsinclude/linux/ethtool.h
- net/core/ethtool.c 16 additions, 1 deletionnet/core/ethtool.c
Loading
Please register or sign in to comment