diff options
author | Laura Mihaela Vasilescu <laura.vasilescu@rosedu.org> | 2013-10-01 04:33:56 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-10-01 12:49:49 -0400 |
commit | 907b7835799f741bf80e18b635555dc332ca9863 (patch) | |
tree | 2d3875ece19dab6d8bf7b37d73296aac03875f1b /drivers/net/ethernet/intel/igb/igb_main.c | |
parent | igb: Add ethtool offline tests for i354 (diff) | |
download | linux-dev-907b7835799f741bf80e18b635555dc332ca9863.tar.xz linux-dev-907b7835799f741bf80e18b635555dc332ca9863.zip |
igb: Add ethtool support to configure number of channels
This patch adds the ethtool callbacks necessary to configure the
number of RSS queues.
The maximum number of queues is in accordance with the datasheets.
Signed-off-by: Laura Mihaela Vasilescu <laura.vasilescu@rosedu.org>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r-- | drivers/net/ethernet/intel/igb/igb_main.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index 8cf44f2a8ccd..a56266eacc64 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -7838,4 +7838,26 @@ s32 igb_write_i2c_byte(struct e1000_hw *hw, u8 byte_offset, return E1000_SUCCESS; } + +int igb_reinit_queues(struct igb_adapter *adapter) +{ + struct net_device *netdev = adapter->netdev; + struct pci_dev *pdev = adapter->pdev; + int err = 0; + + if (netif_running(netdev)) + igb_close(netdev); + + igb_clear_interrupt_scheme(adapter); + + if (igb_init_interrupt_scheme(adapter, true)) { + dev_err(&pdev->dev, "Unable to allocate memory for queues\n"); + return -ENOMEM; + } + + if (netif_running(netdev)) + err = igb_open(netdev); + + return err; +} /* igb_main.c */ |