From ba74ec3de1abb293f0146e26c31853d4ea791b7d Mon Sep 17 00:00:00 2001 From: Sowmini Varadhan Date: Wed, 2 Dec 2015 18:59:19 -0800 Subject: [PATCH] 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] : (cherry picked from commit 05cc3e25f20a1264f3045bcfbb810f7bc94e736d) --- drivers/net/ethernet/intel/i40e/i40e_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index 29d80fd50855..36d55f0bff97 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; -- 2.50.1