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>
diff --git a/drivers/net/igb/e1000_mac.c b/drivers/net/igb/e1000_mac.c
index f11592f..f4c315b 100644
--- a/drivers/net/igb/e1000_mac.c
+++ b/drivers/net/igb/e1000_mac.c
@@ -129,7 +129,7 @@
 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;
 
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index a3c2f83..ff1cd4a 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -3828,7 +3828,7 @@
 
 	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]);
 	}
 }