aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000e/netdev.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/e1000e/netdev.c')
-rw-r--r--drivers/net/e1000e/netdev.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 0d5ef4c5c6d..3d57ca5482f 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -2536,22 +2536,14 @@ static void e1000_configure_rx(struct e1000_adapter *adapter)
2536 * @hw: pointer to the HW structure 2536 * @hw: pointer to the HW structure
2537 * @mc_addr_list: array of multicast addresses to program 2537 * @mc_addr_list: array of multicast addresses to program
2538 * @mc_addr_count: number of multicast addresses to program 2538 * @mc_addr_count: number of multicast addresses to program
2539 * @rar_used_count: the first RAR register free to program
2540 * @rar_count: total number of supported Receive Address Registers
2541 * 2539 *
2542 * Updates the Receive Address Registers and Multicast Table Array. 2540 * Updates the Multicast Table Array.
2543 * The caller must have a packed mc_addr_list of multicast addresses. 2541 * The caller must have a packed mc_addr_list of multicast addresses.
2544 * The parameter rar_count will usually be hw->mac.rar_entry_count
2545 * unless there are workarounds that change this. Currently no func pointer
2546 * exists and all implementations are handled in the generic version of this
2547 * function.
2548 **/ 2542 **/
2549static void e1000_update_mc_addr_list(struct e1000_hw *hw, u8 *mc_addr_list, 2543static void e1000_update_mc_addr_list(struct e1000_hw *hw, u8 *mc_addr_list,
2550 u32 mc_addr_count, u32 rar_used_count, 2544 u32 mc_addr_count)
2551 u32 rar_count)
2552{ 2545{
2553 hw->mac.ops.update_mc_addr_list(hw, mc_addr_list, mc_addr_count, 2546 hw->mac.ops.update_mc_addr_list(hw, mc_addr_list, mc_addr_count);
2554 rar_used_count, rar_count);
2555} 2547}
2556 2548
2557/** 2549/**
@@ -2567,7 +2559,6 @@ static void e1000_set_multi(struct net_device *netdev)
2567{ 2559{
2568 struct e1000_adapter *adapter = netdev_priv(netdev); 2560 struct e1000_adapter *adapter = netdev_priv(netdev);
2569 struct e1000_hw *hw = &adapter->hw; 2561 struct e1000_hw *hw = &adapter->hw;
2570 struct e1000_mac_info *mac = &hw->mac;
2571 struct dev_mc_list *mc_ptr; 2562 struct dev_mc_list *mc_ptr;
2572 u8 *mta_list; 2563 u8 *mta_list;
2573 u32 rctl; 2564 u32 rctl;
@@ -2609,15 +2600,14 @@ static void e1000_set_multi(struct net_device *netdev)
2609 mc_ptr = mc_ptr->next; 2600 mc_ptr = mc_ptr->next;
2610 } 2601 }
2611 2602
2612 e1000_update_mc_addr_list(hw, mta_list, i, 1, 2603 e1000_update_mc_addr_list(hw, mta_list, i);
2613 mac->rar_entry_count);
2614 kfree(mta_list); 2604 kfree(mta_list);
2615 } else { 2605 } else {
2616 /* 2606 /*
2617 * if we're called from probe, we might not have 2607 * if we're called from probe, we might not have
2618 * anything to do here, so clear out the list 2608 * anything to do here, so clear out the list
2619 */ 2609 */
2620 e1000_update_mc_addr_list(hw, NULL, 0, 1, mac->rar_entry_count); 2610 e1000_update_mc_addr_list(hw, NULL, 0);
2621 } 2611 }
2622} 2612}
2623 2613