• Stanislaw Gruszka's avatar
    net: fix ethtool->set_flags not intended -EINVAL return value · 673e63c6
    Stanislaw Gruszka authored
    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: default avatarStanislaw Gruszka <sgruszka@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    673e63c6
ethtool.c 47.5 KB