diff options
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 4 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 20 |
2 files changed, 14 insertions, 10 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c index cfe5a6af04d0..b3c282d09b18 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | |||
| @@ -619,6 +619,10 @@ static bool ixgbe_set_sriov_queues(struct ixgbe_adapter *adapter) | |||
| 619 | } | 619 | } |
| 620 | 620 | ||
| 621 | #endif | 621 | #endif |
| 622 | /* populate TC0 for use by pool 0 */ | ||
| 623 | netdev_set_tc_queue(adapter->netdev, 0, | ||
| 624 | adapter->num_rx_queues_per_pool, 0); | ||
| 625 | |||
| 622 | return true; | 626 | return true; |
| 623 | } | 627 | } |
| 624 | 628 | ||
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index cdb8502ae473..d8c4c1b90378 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | |||
| @@ -6571,20 +6571,12 @@ int ixgbe_open(struct net_device *netdev) | |||
| 6571 | goto err_req_irq; | 6571 | goto err_req_irq; |
| 6572 | 6572 | ||
| 6573 | /* Notify the stack of the actual queue counts. */ | 6573 | /* Notify the stack of the actual queue counts. */ |
| 6574 | if (adapter->num_rx_pools > 1) | 6574 | queues = adapter->num_tx_queues; |
| 6575 | queues = adapter->num_rx_queues_per_pool; | ||
| 6576 | else | ||
| 6577 | queues = adapter->num_tx_queues; | ||
| 6578 | |||
| 6579 | err = netif_set_real_num_tx_queues(netdev, queues); | 6575 | err = netif_set_real_num_tx_queues(netdev, queues); |
| 6580 | if (err) | 6576 | if (err) |
| 6581 | goto err_set_queues; | 6577 | goto err_set_queues; |
| 6582 | 6578 | ||
| 6583 | if (adapter->num_rx_pools > 1 && | 6579 | queues = adapter->num_rx_queues; |
| 6584 | adapter->num_rx_queues > IXGBE_MAX_L2A_QUEUES) | ||
| 6585 | queues = IXGBE_MAX_L2A_QUEUES; | ||
| 6586 | else | ||
| 6587 | queues = adapter->num_rx_queues; | ||
| 6588 | err = netif_set_real_num_rx_queues(netdev, queues); | 6580 | err = netif_set_real_num_rx_queues(netdev, queues); |
| 6589 | if (err) | 6581 | if (err) |
| 6590 | goto err_set_queues; | 6582 | goto err_set_queues; |
| @@ -8814,6 +8806,14 @@ int ixgbe_setup_tc(struct net_device *dev, u8 tc) | |||
| 8814 | } else { | 8806 | } else { |
| 8815 | netdev_reset_tc(dev); | 8807 | netdev_reset_tc(dev); |
| 8816 | 8808 | ||
| 8809 | /* To support macvlan offload we have to use num_tc to | ||
| 8810 | * restrict the queues that can be used by the device. | ||
| 8811 | * By doing this we can avoid reporting a false number of | ||
| 8812 | * queues. | ||
| 8813 | */ | ||
| 8814 | if (!tc && adapter->num_rx_pools > 1) | ||
| 8815 | netdev_set_num_tc(dev, 1); | ||
| 8816 | |||
| 8817 | if (adapter->hw.mac.type == ixgbe_mac_82598EB) | 8817 | if (adapter->hw.mac.type == ixgbe_mac_82598EB) |
| 8818 | adapter->hw.fc.requested_mode = adapter->last_lfc_mode; | 8818 | adapter->hw.fc.requested_mode = adapter->last_lfc_mode; |
| 8819 | 8819 | ||
