]> git.proxmox.com Git - pve-kernel-2.6.32.git/blame - ixgbe_fix_mac_flush.patch
update to vzkernel-2.6.32-042stab061.2.src.rpm
[pve-kernel-2.6.32.git] / ixgbe_fix_mac_flush.patch
CommitLineData
cce6412b
DM
1--- ixgbe-3.10.16/src/ixgbe_main.c 2012-06-20 22:32:30.000000000 +0200
2+++ ixgbe-3.10.16.new/src/ixgbe_main.c 2012-07-19 05:53:51.000000000 +0200
3@@ -5194,6 +5194,7 @@
4 struct ixgbe_hw *hw = &adapter->hw;
5 struct net_device *netdev = adapter->netdev;
6 int err;
7+ u8 old_addr[ETH_ALEN];
8
9 /* lock SFP init bit to prevent race conditions with the watchdog */
10 while (test_and_set_bit(__IXGBE_IN_SFP_INIT, &adapter->state))
11@@ -5228,9 +5229,11 @@
12
13 clear_bit(__IXGBE_IN_SFP_INIT, &adapter->state);
14
15+ /* do not flush user set addresses */
16+ memcpy(old_addr, &adapter->mac_table[0].addr, netdev->addr_len);
17 ixgbe_flush_sw_mac_table(adapter);
18- memcpy(&adapter->mac_table[0].addr, hw->mac.perm_addr,
19- netdev->addr_len);
20+ memcpy(&adapter->mac_table[0].addr, old_addr, netdev->addr_len);
21+
22 adapter->mac_table[0].queue = VMDQ_P(0);
23 adapter->mac_table[0].state = (IXGBE_MAC_STATE_DEFAULT |
24 IXGBE_MAC_STATE_IN_USE);