ixgbe: DCB and SR-IOV can not co-exist and will cause hangs
DCB and SR-IOV cannot currently be enabled at the same time as the queueing schemes are incompatible. If they are both enabled it will result in Tx hangs since only the first Tx queue will be able to transmit any traffic. This simple fix for this is to block us from enabling TCs in ixgbe_setup_tc if SR-IOV is enabled. This change will be reverted once we can support SR-IOV and DCB coexistence. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Acked-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
960fb66e52
commit
d4e4164943
1 changed files with 5 additions and 0 deletions
|
@ -6647,6 +6647,11 @@ int ixgbe_setup_tc(struct net_device *dev, u8 tc)
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
|
||||
e_err(drv, "Enable failed, SR-IOV enabled\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 &&
|
||||
|
|
Loading…
Reference in a new issue