From: Sowmini Varadhan Date: Thu, 3 Dec 2015 02:59:19 +0000 (-0800) Subject: Do not execute i40e_macaddr_init if the macaddr is default X-Git-Tag: v4.1.12-92~223^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=85cbcdb6c596c7de98e8112bfa643c207bf705b6;p=users%2Fjedix%2Flinux-maple.git Do not execute i40e_macaddr_init if the macaddr is default Orabug 22302847 If the macaddr is not from Open Firmwre or IDPROM (i.e., defaults macaddr was used) then do not call i40e_macaddr_init again, else you will get a driver init failure like this: [ 8127.050926] WARNING: CPU: 18 PID: 878 at kernel/irq/manage.c:1346 +__free_irq+0x9f/0x230() [ 8127.050927] Trying to free already-free IRQ 177 : [ 8127.051005] [] __free_irq+0x9f/0x230 [ 8127.051006] [] free_irq+0x4d/0xb0 [ 8127.051013] [] i40e_clear_interrupt_scheme+0xb0/0xc0 +[i40e] [ 8127.051018] [] i40e_probe.part.64+0x1018/0x1320 [i40e] [ 8127.051023] [] ? acpi_ut_remove_reference+0x2f/0x33 [ 8127.051026] [] ? acpi_rs_get_prt_method_data+0x50/0x6d [ 8127.051029] [] ? mutex_lock+0x16/0x37 [ 8127.051034] [] ? mp_map_pin_to_irq+0xee/0x250 [ 8127.051035] [] ? mp_map_gsi_to_irq+0xa4/0xd0 [ 8127.051038] [] ? acpi_register_gsi_ioapic+0x54/0x1d0 [ 8127.051043] [] ? pci_conf1_read+0xbe/0x120 [ 8127.051045] [] ? raw_pci_read+0x23/0x40 [ 8127.051048] [] ? pci_bus_read_config_word+0xa0/0xb0 [ 8127.051053] [] ? do_pci_enable_device+0xf0/0x120 [ 8127.051057] [] i40e_probe+0x22/0x30 [i40e] : --- diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index 29d80fd508555..36d55f0bff97f 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -8865,9 +8865,11 @@ struct i40e_vsi *i40e_vsi_setup(struct i40e_pf *pf, u8 type, ret = i40e_config_netdev(vsi); if (ret) goto err_netdev; +#if defined(CONFIG_SPARC) || defined(CONFIG_OF) ret = i40e_macaddr_init(vsi, pf->hw.mac.addr); if (ret) goto err_netdev; +#endif ret = register_netdev(vsi->netdev); if (ret) goto err_netdev;