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 6acb858..9d1792e 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);