ixgbe: fix build error with FCOE_CONFIG without DCB_CONFIG
Subsystems (2)
PATCH 1/1 ixgbe: fix build error with FCOE_CONFIG without DCB_CONFIG
From: John Fastabend <[email protected]>
Building ixgbe without DCB_CONFIG and FCOE_CONFIG will cause a build error. This resolves the build error by wrapping the fcoe.up in CONFIG_IXGBE_DCB ifdefs.
Also frames were being priority VLAN tagged even without DCB enabled. This fixes this so that 8021Q priority tags are only added with DCB actually enabled.
---
drivers/net/ixgbe/ixgbe_main.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-)
drivers/net/ixgbe/ixgbe_main.c +10 -4
@@ -6155,9 +6155,11 @@ static u16 ixgbe_select_queue(struct net_device *dev, struct sk_buff *skb) txq &= (adapter->ring_feature[RING_F_FCOE ].indices -1 ); txq += adapter->ring_feature[RING_F_FCOE ].mask;return txq; +#ifdef CONFIG_IXGBE_DCB } else if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) { txq = adapter->fcoe.up;return txq; +#endif } }#endif
@@ -6216,10 +6218,14 @@ static netdev_tx_t ixgbe_xmit_frame(struct sk_buff *skb,if (adapter->flags &IXGBE_FLAG_FCOE_ENABLED && (skb->protocol ==htons (ETH_P_FCOE ) || skb->protocol ==htons (ETH_P_FIP ))) { - tx_flags &= ~(IXGBE_TX_FLAGS_VLAN_PRIO_MASK - <<IXGBE_TX_FLAGS_VLAN_SHIFT ); - tx_flags |= ((adapter->fcoe.up <<13 ) - <<IXGBE_TX_FLAGS_VLAN_SHIFT ); +#ifdef CONFIG_IXGBE_DCB +if (adapter->flags &IXGBE_FLAG_DCB_ENABLED ) { + tx_flags &= ~(IXGBE_TX_FLAGS_VLAN_PRIO_MASK + <<IXGBE_TX_FLAGS_VLAN_SHIFT ); + tx_flags |= ((adapter->fcoe.up <<13 ) + <<IXGBE_TX_FLAGS_VLAN_SHIFT ); + } +#endif /* flag for FCoE offloads */ if (skb->protocol ==htons (ETH_P_FCOE )) tx_flags |=IXGBE_TX_FLAGS_FCOE ;
From: Jeff Kirsher <[email protected]>
Date: Sun, 08 Aug 2010 18:46:15 -0700
Quoted 10 lines
From: John Fastabend <[email protected]>
Building ixgbe without
DCB_CONFIGandFCOE_CONFIGwill cause a build error. This resolves the build error by wrapping the fcoe.up inCONFIG_IXGBE_DCBifdefs.Also frames were being priority VLAN tagged even without DCB enabled. This fixes this so that 8021Q priority tags are only added with DCB actually enabled.
Quoted 6 lines
Reported-by divya <[email protected]>Reported-by Jon Mason <[email protected]>Signed-off-by John Fastabend <[email protected]>Tested-by Stephen Ko <[email protected]>Tested-by Ross Brattain <[email protected]>Signed-off-by Jeff Kirsher <[email protected]>
Applied.