ixgbe: Fix DCB netlink layer for 82599 to enable Priority Flow Control
authorPJ Waskiewicz <peter.p.waskiewicz.jr@intel.com>
Tue, 31 Mar 2009 21:33:25 +0000 (21:33 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Apr 2009 08:02:28 +0000 (01:02 -0700)
The priority flow control settings from the netlink layer aren't taking
effect in the base driver.  The boolean pfc_mode_enable in the dcb_config
struct isn't being set, so the hardware configuration code is never
reached.

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ixgbe/ixgbe_dcb_nl.c

index 0a8731f..bd0a0c2 100644 (file)
@@ -90,6 +90,8 @@ int ixgbe_copy_dcb_cfg(struct ixgbe_dcb_config *src_dcb_cfg,
                        src_dcb_cfg->tc_config[i - DCB_PFC_UP_ATTR_0].dcb_pfc;
        }
 
+       dst_dcb_cfg->pfc_mode_enable = src_dcb_cfg->pfc_mode_enable;
+
        return 0;
 }
 
@@ -298,8 +300,10 @@ static void ixgbe_dcbnl_set_pfc_cfg(struct net_device *netdev, int priority,
 
        adapter->temp_dcb_cfg.tc_config[priority].dcb_pfc = setting;
        if (adapter->temp_dcb_cfg.tc_config[priority].dcb_pfc !=
-           adapter->dcb_cfg.tc_config[priority].dcb_pfc)
+           adapter->dcb_cfg.tc_config[priority].dcb_pfc) {
                adapter->dcb_set_bitmap |= BIT_PFC;
+               adapter->temp_dcb_cfg.pfc_mode_enable = true;
+       }
 }
 
 static void ixgbe_dcbnl_get_pfc_cfg(struct net_device *netdev, int priority,