summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/igb/e1000_82575.c
diff options
context:
space:
mode:
authorCarolyn Wyborny2011-10-14 02:13:49 +0200
committerJeff Kirsher2011-10-21 12:19:39 +0200
commit1128c756bef8285db3bbde5b26d4a6b4c7e2e613 (patch)
tree265057e706f6d147c72099deb2b21f2fd74b6b33 /drivers/net/ethernet/intel/igb/e1000_82575.c
parentigb: Move DMA Coalescing init code to separate function. (diff)
downloadkernel-qcow2-linux-1128c756bef8285db3bbde5b26d4a6b4c7e2e613.tar.gz
kernel-qcow2-linux-1128c756bef8285db3bbde5b26d4a6b4c7e2e613.tar.xz
kernel-qcow2-linux-1128c756bef8285db3bbde5b26d4a6b4c7e2e613.zip
igb: VFTA Table Fix for i350 devices
Due to a hardware problem, writes to the VFTA register can theoretically fail. Although the likelihood of this is very low. This patch adds a shadow vfta in the adapter struct for reading and adds new write functions for these devices to work around the problem. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/igb/e1000_82575.c')
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_82575.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/igb/e1000_82575.c b/drivers/net/ethernet/intel/igb/e1000_82575.c
index 6580cea796c5..7881fb95a25b 100644
--- a/drivers/net/ethernet/intel/igb/e1000_82575.c
+++ b/drivers/net/ethernet/intel/igb/e1000_82575.c
@@ -1051,7 +1051,10 @@ static s32 igb_init_hw_82575(struct e1000_hw *hw)
/* Disabling VLAN filtering */
hw_dbg("Initializing the IEEE VLAN\n");
- igb_clear_vfta(hw);
+ if (hw->mac.type == e1000_i350)
+ igb_clear_vfta_i350(hw);
+ else
+ igb_clear_vfta(hw);
/* Setup the receive address */
igb_init_rx_addrs(hw, rar_count);