From 798bf5308bcf0a95ba557afa58751f04b88c4115 Mon Sep 17 00:00:00 2001 From: Alexander Duyck Date: Tue, 17 Jul 2012 01:20:28 +0000 Subject: [PATCH] --- yaml --- r: 315771 b: refs/heads/master c: b724e9f2505513df1455b03efea166f7dfa0f7d5 h: refs/heads/master i: 315769: 1b941d73c835fb9407a818bd3d9cd2ea9f7cd48c 315767: ed503897e8ace2ec92e1f74a3d45699ebdab457f v: v3 --- [refs] | 2 +- .../net/ethernet/intel/ixgbe/ixgbe_lib.c | 18 +++++++++++++++++- .../net/ethernet/intel/ixgbe/ixgbe_main.c | 6 ------ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index eb7d8c8882ec..b3e6c4de1be5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b6dfd939fdc249fcf8cd7b8006f76239b33eb581 +refs/heads/master: b724e9f2505513df1455b03efea166f7dfa0f7d5 diff --git a/trunk/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c b/trunk/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c index 29a2a8528073..17ecbcedd548 100644 --- a/trunk/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c +++ b/trunk/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c @@ -1065,11 +1065,27 @@ static void ixgbe_set_interrupt_capability(struct ixgbe_adapter *adapter) return; } - adapter->flags &= ~IXGBE_FLAG_DCB_ENABLED; + /* disable DCB if number of TCs exceeds 1 */ + if (netdev_get_num_tc(adapter->netdev) > 1) { + e_err(probe, "num TCs exceeds number of queues - disabling DCB\n"); + netdev_reset_tc(adapter->netdev); + if (adapter->hw.mac.type == ixgbe_mac_82598EB) + adapter->hw.fc.requested_mode = adapter->last_lfc_mode; + + adapter->flags &= ~IXGBE_FLAG_DCB_ENABLED; + adapter->temp_dcb_cfg.pfc_mode_enable = false; + adapter->dcb_cfg.pfc_mode_enable = false; + } + adapter->dcb_cfg.num_tcs.pg_tcs = 1; + adapter->dcb_cfg.num_tcs.pfc_tcs = 1; + + /* disable SR-IOV */ ixgbe_disable_sriov(adapter); + /* disable RSS */ adapter->ring_feature[RING_F_RSS].limit = 1; + ixgbe_set_num_queues(adapter); adapter->num_q_vectors = 1; diff --git a/trunk/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/trunk/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index 30699815451c..3b6784cf134a 100644 --- a/trunk/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/trunk/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -6703,12 +6703,6 @@ int ixgbe_setup_tc(struct net_device *dev, u8 tc) struct ixgbe_adapter *adapter = netdev_priv(dev); struct ixgbe_hw *hw = &adapter->hw; - /* Multiple traffic classes requires multiple queues */ - if (!(adapter->flags & IXGBE_FLAG_MSIX_ENABLED)) { - e_err(drv, "Enable failed, needs MSI-X\n"); - return -EINVAL; - } - /* Hardware supports up to 8 traffic classes */ if (tc > adapter->dcb_cfg.num_tcs.pg_tcs || (hw->mac.type == ixgbe_mac_82598EB &&