Date: Fri, 27 Sep 2013 13:00:04 +0400 From: Sergey Kandaurov <pluknet@gmail.com> Cc: FreeBSD Net <freebsd-net@freebsd.org> Subject: Re: kern/172113: [panic] [e1000] [patch] 9.1-RC1/amd64 panices in igb(4): m_getjcl: invalid cluster type Message-ID: <CAE-mSOLvc2QE9hBQ9YqFFAbQdBw%2BuKgXyGD%2BcZ9Zwif9WZZbPQ@mail.gmail.com> In-Reply-To: <201309270840.r8R8e12u016527@freefall.freebsd.org> References: <201309270840.r8R8e12u016527@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
I forward these mails for archives to easier track what was committed for this PR. ---------- Forwarded message ---------- From: Jack F Vogel <jfv@freebsd.org> Date: 6 August 2013 22:00 Subject: svn commit: r254002 - head/sys/dev/e1000 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Author: jfv Date: Tue Aug 6 18:00:53 2013 New Revision: 254002 URL: http://svnweb.freebsd.org/changeset/base/254002 Log: 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) Modified: head/sys/dev/e1000/if_igb.c Modified: head/sys/dev/e1000/if_igb.c ============================================================================== --- head/sys/dev/e1000/if_igb.c Tue Aug 6 17:22:06 2013 (r254001) +++ head/sys/dev/e1000/if_igb.c Tue Aug 6 18:00:53 2013 (r254002) @@ -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; ---------- Forwarded message ---------- From: Jack F Vogel <jfv@freebsd.org> Date: 7 August 2013 01:16 Subject: svn commit: r254009 - releng/9.2/sys/dev/e1000 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Author: jfv Date: Tue Aug 6 21:16:00 2013 New Revision: 254009 URL: http://svnweb.freebsd.org/changeset/base/254009 Log: 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 to the interrupt handler for DRV_RUNNING. Approved by: re Modified: releng/9.2/sys/dev/e1000/if_igb.c Directory Properties: releng/9.2/sys/ (props changed) releng/9.2/sys/dev/ (props changed) releng/9.2/sys/dev/e1000/ (props changed) Modified: releng/9.2/sys/dev/e1000/if_igb.c ============================================================================== --- releng/9.2/sys/dev/e1000/if_igb.c Tue Aug 6 21:01:38 2013 (r254008) +++ releng/9.2/sys/dev/e1000/if_igb.c Tue Aug 6 21:16:00 2013 (r254009) @@ -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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAE-mSOLvc2QE9hBQ9YqFFAbQdBw%2BuKgXyGD%2BcZ9Zwif9WZZbPQ>