Skip to content

Commit d4e4164

Browse files
Alexander Duyckdavem330
Alexander Duyck
authored andcommitted
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 <[email protected]> Acked-by: John Fastabend <[email protected]> Tested-by: Phil Schmitt <[email protected]> Tested-by: Ross Brattain <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 960fb66 commit d4e4164

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6647,6 +6647,11 @@ int ixgbe_setup_tc(struct net_device *dev, u8 tc)
66476647
return -EINVAL;
66486648
}
66496649

6650+
if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
6651+
e_err(drv, "Enable failed, SR-IOV enabled\n");
6652+
return -EINVAL;
6653+
}
6654+
66506655
/* Hardware supports up to 8 traffic classes */
66516656
if (tc > adapter->dcb_cfg.num_tcs.pg_tcs ||
66526657
(hw->mac.type == ixgbe_mac_82598EB &&

0 commit comments

Comments
 (0)