RE: [PATCH] e1000e: x86: e1000 driver trying to free already-free irq.

From: Brown, Aaron F
Date: Thu Oct 27 2016 - 22:50:13 EST


> From: netdev-owner@xxxxxxxxxxxxxxx [mailto:netdev-
> owner@xxxxxxxxxxxxxxx] On Behalf Of David Singleton
> Sent: Monday, October 17, 2016 9:51 AM
> To: Kirsher, Jeffrey T <jeffrey.t.kirsher@xxxxxxxxx>
> Cc: khalidm <khalidm@xxxxxxxxx>; intel-wired-lan@xxxxxxxxxxxxxxxx;
> netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] e1000e: x86: e1000 driver trying to free already-free irq.
>
> From: khalidm <khalidm@xxxxxxxxx>
>
> During systemd reboot sequence network driver interface is shutdown
> by e1000_close. The PCI driver interface is shut by e1000_shutdown.
> The e1000_shutdown checks for netif_running status, if still up it
> brings down driver. But it disables msi outside of this if statement,
> regardless of netif status. All this is OK when e1000_close happens
> after shutdown. However, by default, everything in systemd is done
> in parallel. This creates a conditions where e1000_shutdown is called
> after e1000_close, therefore hitting BUG_ON assert in free_msi_irqs.
>
> Cc-Id: xe-kernel@xxxxxxxxxxxxxxxxxx
> Signed-off-by: khalidm <khalidm@xxxxxxxxx>
> Signed-off-by: David Singleton <davsingl@xxxxxxxxx>
> ---
> drivers/net/ethernet/intel/e1000e/netdev.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx>