v2 ixgbe: Update packet buffer reservation to correct fdir headroom size
authorAlexander Duyck <alexander.h.duyck@intel.com>
Thu, 21 Jul 2011 00:40:35 +0000 (00:40 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 17 Sep 2011 01:39:34 +0000 (18:39 -0700)
This change fixes an issue in which the incorrect amount of headroom was
being reserved for flow director filters.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

index fec49e6fc3b6ba118964fcdf3173ff20870ee3ec..0283e121139004a7e37f6d61d66a5d398ace2b11 100644 (file)
@@ -3372,15 +3372,17 @@ static void ixgbe_configure_dcb(struct ixgbe_adapter *adapter)
 
 static void ixgbe_configure_pb(struct ixgbe_adapter *adapter)
 {
-       int hdrm = 0;
-       int num_tc = netdev_get_num_tc(adapter->netdev);
        struct ixgbe_hw *hw = &adapter->hw;
+       int hdrm;
+       u8 tc = netdev_get_num_tc(adapter->netdev);
 
        if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE ||
            adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE)
-               hdrm = 64 << adapter->fdir_pballoc;
+               hdrm = 32 << adapter->fdir_pballoc;
+       else
+               hdrm = 0;
 
-       hw->mac.ops.set_rxpba(&adapter->hw, num_tc, hdrm, PBA_STRATEGY_EQUAL);
+       hw->mac.ops.set_rxpba(hw, tc, hdrm, PBA_STRATEGY_EQUAL);
 }
 
 static void ixgbe_fdir_filter_restore(struct ixgbe_adapter *adapter)