igc: Fix default MAC address filter override
authorAndre Guedes <andre.guedes@intel.com>
Mon, 9 Mar 2020 23:10:40 +0000 (16:10 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 17 Apr 2020 17:19:24 +0000 (10:19 -0700)
This patch fixes a bug when the user adds the first MAC address filter
via ethtool NFC mechanism.

When the first MAC address filter is added, it overwrites the default
MAC address filter configured at RAL[0] and RAH[0]. As consequence,
frames addressed to the interface MAC address are not sent to host
anymore.

This patch fixes the bug by calling igc_set_default_mac_filter() during
adapter init so the position 0 of adapter->mac_table[] is assigned to
the default MAC address.

Signed-off-by: Andre Guedes <andre.guedes@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igc/igc_main.c

index 6acb85842d0a57d93bed367484a9a57af2770fc4..9d1792e80e2ea21de3af5c5b389bf09fa9510989 100644 (file)
@@ -2354,7 +2354,9 @@ static void igc_configure(struct igc_adapter *adapter)
        igc_setup_mrqc(adapter);
        igc_setup_rctl(adapter);
 
+       igc_set_default_mac_filter(adapter);
        igc_nfc_filter_restore(adapter);
+
        igc_configure_tx(adapter);
        igc_configure_rx(adapter);