Răsfoiți Sursa

igb: correct typo that was setting vfta mask to 1

This patch corrects a typo that was doing a less than comparison instead of
a left shift due to the fact that I didn't get enough <'s in there.

This resolves an issue in which vlans were not functioning correctly.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Alexander Duyck 16 ani în urmă
părinte
comite
75f4f382e3
2 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  1. 1 1
      drivers/net/igb/e1000_mac.c
  2. 1 1
      drivers/net/igb/igb_main.c

+ 1 - 1
drivers/net/igb/e1000_mac.c

@@ -129,7 +129,7 @@ void igb_write_vfta(struct e1000_hw *hw, u32 offset, u32 value)
 s32 igb_vfta_set(struct e1000_hw *hw, u32 vid, bool add)
 {
 	u32 index = (vid >> E1000_VFTA_ENTRY_SHIFT) & E1000_VFTA_ENTRY_MASK;
-	u32 mask = 1 < (vid & E1000_VFTA_ENTRY_BIT_SHIFT_MASK);
+	u32 mask = 1 << (vid & E1000_VFTA_ENTRY_BIT_SHIFT_MASK);
 	u32 vfta = array_rd32(E1000_VFTA, index);
 	s32 ret_val = 0;
 

+ 1 - 1
drivers/net/igb/igb_main.c

@@ -3828,7 +3828,7 @@ static void igb_restore_vf_multicasts(struct igb_adapter *adapter)
 
 	for (i = 0; i < adapter->vfs_allocated_count; i++) {
 		vf_data = &adapter->vf_data[i];
-		for (j = 0; j < vf_data[i].num_vf_mc_hashes; j++)
+		for (j = 0; j < vf_data->num_vf_mc_hashes; j++)
 			igb_mta_set(hw, vf_data->vf_mc_hashes[j]);
 	}
 }