aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ixgbe/ixgbe_main.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 7d6a415bcf88..55394a2d3a8f 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -6155,9 +6155,11 @@ static u16 ixgbe_select_queue(struct net_device *dev, struct sk_buff *skb)
6155 txq &= (adapter->ring_feature[RING_F_FCOE].indices - 1); 6155 txq &= (adapter->ring_feature[RING_F_FCOE].indices - 1);
6156 txq += adapter->ring_feature[RING_F_FCOE].mask; 6156 txq += adapter->ring_feature[RING_F_FCOE].mask;
6157 return txq; 6157 return txq;
6158#ifdef CONFIG_IXGBE_DCB
6158 } else if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) { 6159 } else if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {
6159 txq = adapter->fcoe.up; 6160 txq = adapter->fcoe.up;
6160 return txq; 6161 return txq;
6162#endif
6161 } 6163 }
6162 } 6164 }
6163#endif 6165#endif
@@ -6216,10 +6218,14 @@ static netdev_tx_t ixgbe_xmit_frame(struct sk_buff *skb,
6216 if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED && 6218 if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED &&
6217 (skb->protocol == htons(ETH_P_FCOE) || 6219 (skb->protocol == htons(ETH_P_FCOE) ||
6218 skb->protocol == htons(ETH_P_FIP))) { 6220 skb->protocol == htons(ETH_P_FIP))) {
6219 tx_flags &= ~(IXGBE_TX_FLAGS_VLAN_PRIO_MASK 6221#ifdef CONFIG_IXGBE_DCB
6220 << IXGBE_TX_FLAGS_VLAN_SHIFT); 6222 if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {
6221 tx_flags |= ((adapter->fcoe.up << 13) 6223 tx_flags &= ~(IXGBE_TX_FLAGS_VLAN_PRIO_MASK
6222 << IXGBE_TX_FLAGS_VLAN_SHIFT); 6224 << IXGBE_TX_FLAGS_VLAN_SHIFT);
6225 tx_flags |= ((adapter->fcoe.up << 13)
6226 << IXGBE_TX_FLAGS_VLAN_SHIFT);
6227 }
6228#endif
6223 /* flag for FCoE offloads */ 6229 /* flag for FCoE offloads */
6224 if (skb->protocol == htons(ETH_P_FCOE)) 6230 if (skb->protocol == htons(ETH_P_FCOE))
6225 tx_flags |= IXGBE_TX_FLAGS_FCOE; 6231 tx_flags |= IXGBE_TX_FLAGS_FCOE;