diff options
Diffstat (limited to 'drivers/net/benet/be_ethtool.c')
-rw-r--r-- | drivers/net/benet/be_ethtool.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/benet/be_ethtool.c b/drivers/net/benet/be_ethtool.c index a665697df824..1565c81ff96c 100644 --- a/drivers/net/benet/be_ethtool.c +++ b/drivers/net/benet/be_ethtool.c | |||
@@ -735,6 +735,18 @@ be_read_eeprom(struct net_device *netdev, struct ethtool_eeprom *eeprom, | |||
735 | return status; | 735 | return status; |
736 | } | 736 | } |
737 | 737 | ||
738 | static int be_set_flags(struct net_device *netdev, u32 data) | ||
739 | { | ||
740 | struct be_adapter *adapter = netdev_priv(netdev); | ||
741 | int rc = -1; | ||
742 | |||
743 | if (be_multi_rxq(adapter)) | ||
744 | rc = ethtool_op_set_flags(netdev, data, ETH_FLAG_RXHASH | | ||
745 | ETH_FLAG_TXVLAN | ETH_FLAG_RXVLAN); | ||
746 | |||
747 | return rc; | ||
748 | } | ||
749 | |||
738 | const struct ethtool_ops be_ethtool_ops = { | 750 | const struct ethtool_ops be_ethtool_ops = { |
739 | .get_settings = be_get_settings, | 751 | .get_settings = be_get_settings, |
740 | .get_drvinfo = be_get_drvinfo, | 752 | .get_drvinfo = be_get_drvinfo, |
@@ -764,4 +776,5 @@ const struct ethtool_ops be_ethtool_ops = { | |||
764 | .get_regs = be_get_regs, | 776 | .get_regs = be_get_regs, |
765 | .flash_device = be_do_flash, | 777 | .flash_device = be_do_flash, |
766 | .self_test = be_self_test, | 778 | .self_test = be_self_test, |
779 | .set_flags = be_set_flags, | ||
767 | }; | 780 | }; |