From 54a6317360e189febbc15091e5220d75607d7251 Mon Sep 17 00:00:00 2001 From: Jack F Vogel Date: Tue, 6 Aug 2013 18:00:53 +0000 Subject: [PATCH] When the igb driver is static there are cases when early interrupts occur, resulting in a panic in refresh_mbufs, to prevent this add a check in the interrupt handler for DRV_RUNNING. MFC after: 1 day (critical for 9.2) --- sys/dev/e1000/if_igb.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/dev/e1000/if_igb.c b/sys/dev/e1000/if_igb.c index 101c73c1e0d..4e8bd0f0aae 100644 --- a/sys/dev/e1000/if_igb.c +++ b/sys/dev/e1000/if_igb.c @@ -1572,6 +1572,10 @@ igb_msix_que(void *arg) u32 newitr = 0; bool more_rx; + /* Ignore spurious interrupts */ + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + return; + E1000_WRITE_REG(&adapter->hw, E1000_EIMC, que->eims); ++que->irqs;