if (hw->mac.type == ixgbe_mac_82598EB)
                netif_set_gso_max_size(adapter->netdev, 32768);
 
-#ifdef CONFIG_FCOE
-       if (adapter->netdev->features & NETIF_F_FCOE_MTU)
-               max_frame = max(max_frame, IXGBE_FCOE_JUMBO_FRAME_SIZE);
-#endif
-
-       ixgbe_dcb_calculate_tc_credits(hw, &adapter->dcb_cfg, max_frame,
-                                       DCB_TX_CONFIG);
-       ixgbe_dcb_calculate_tc_credits(hw, &adapter->dcb_cfg, max_frame,
-                                       DCB_RX_CONFIG);
 
        /* Enable VLAN tag insert/strip */
        adapter->netdev->features |= NETIF_F_HW_VLAN_RX;
        hw->mac.ops.set_vfta(&adapter->hw, 0, 0, true);
 
        /* reconfigure the hardware */
-       ixgbe_dcb_hw_config(hw, &adapter->dcb_cfg);
+       if (adapter->dcbx_cap & (DCB_CAP_DCBX_HOST | DCB_CAP_DCBX_VER_CEE)) {
+#ifdef CONFIG_FCOE
+               if (adapter->netdev->features & NETIF_F_FCOE_MTU)
+                       max_frame = max(max_frame, IXGBE_FCOE_JUMBO_FRAME_SIZE);
+#endif
+               ixgbe_dcb_calculate_tc_credits(hw, &adapter->dcb_cfg, max_frame,
+                                               DCB_TX_CONFIG);
+               ixgbe_dcb_calculate_tc_credits(hw, &adapter->dcb_cfg, max_frame,
+                                               DCB_RX_CONFIG);
+               ixgbe_dcb_hw_config(hw, &adapter->dcb_cfg);
+       } else {
+               struct net_device *dev = adapter->netdev;
+
+               if (adapter->ixgbe_ieee_ets)
+                       dev->dcbnl_ops->ieee_setets(dev,
+                                                   adapter->ixgbe_ieee_ets);
+               if (adapter->ixgbe_ieee_pfc)
+                       dev->dcbnl_ops->ieee_setpfc(dev,
+                                                   adapter->ixgbe_ieee_pfc);
+       }
 
        /* Enable RSS Hash per TC */
        if (hw->mac.type != ixgbe_mac_82598EB) {