diff options
Diffstat (limited to 'drivers/net/ethernet/intel/igb/e1000_mac.c')
| -rw-r--r-- | drivers/net/ethernet/intel/igb/e1000_mac.c | 4 | 
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/igb/e1000_mac.c b/drivers/net/ethernet/intel/igb/e1000_mac.c index 205d577bdbba..caf91c6f52b4 100644 --- a/drivers/net/ethernet/intel/igb/e1000_mac.c +++ b/drivers/net/ethernet/intel/igb/e1000_mac.c @@ -426,7 +426,7 @@ void igb_mta_set(struct e1000_hw *hw, u32 hash_value)  static u32 igb_hash_mc_addr(struct e1000_hw *hw, u8 *mc_addr)  {  	u32 hash_value, hash_mask; -	u8 bit_shift = 0; +	u8 bit_shift = 1;  	/* Register count multiplied by bits per register */  	hash_mask = (hw->mac.mta_reg_count * 32) - 1; @@ -434,7 +434,7 @@ static u32 igb_hash_mc_addr(struct e1000_hw *hw, u8 *mc_addr)  	/* For a mc_filter_type of 0, bit_shift is the number of left-shifts  	 * where 0xFF would still fall within the hash mask.  	 */ -	while (hash_mask >> bit_shift != 0xFF) +	while (hash_mask >> bit_shift != 0xFF && bit_shift < 4)  		bit_shift++;  	/* The portion of the address that is used for the hash table  |